ファイルが既に開いているかの状態をチェックして取得するにはどうしたらよいか?

最近の書き込み件数: 今日 0件、昨日 0件
未読分:3件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#3 2015年2月7日(土)18時55分
From: kataduke
返事 削除 変更
ワークシート関数のCell関数とEvaluate関数を組み合わせたらどうですか?
そちらで判断しといてVBAでその結果をIf〜Else〜Thenステートメントで条件分岐させたらうまくいきそうな気がします。

Message#2 2015年2月7日(土)06時09分
From: bookman
返事 削除 変更
意図した回答でなかったらすいません。
読み取り専用で開きたいということでしょうか?
それとも読み取りのやつがあれば、そのファイル名を取得するだけでしょうか?
もう少し利用する用途を明記すると分かりやすいかと思います。

とりあえず読み取り専用でも開くにはどうすればいいかという場合の説明です。
誰かが開いていたらもちろん読み取り専用で開かれますが、毎度メッセージがでてくるとうざいです。
そこで、そのメッセージを表示させない方法について説明します。
ファイルを開くわけですから、もちろんOpenメソッドを利用します。
こちらのメソッドの引数にはNotifyがあり、こちらに「False」を設定すると通知メッセージが表示されません。
具体的には以下のような形です。

Sub Sample()
Workbooks.Open Filename:="指定したファイル名の絶対パス", Notify:=False
End Sub

Message#1 2015年2月7日(土)05時41分
From: sakai
返事 削除 変更
ExcelのVBAでファイルが既に開いているかの状態をチェックして取得するにはどうしたらいいでしょうか?

以下はサンプルのVBAコードです。
If〜Thenの部分でエラーが起きていますが、ここを見ても分かりませんでした。
開いているファイル名を取得して比較してもいいですし、読み取りファイルがある場合はそちらとファイル名の比較でもなんでもかまいません。
ようはそれが分かるようなVBAコードにしたいのですが、私の知識ではここまでが限界です。
有志の方々力を貸してください。

Sub Sample()
Dim App As Object
Dim MyFileName As String

Set App = CreateObject("Excel.Application")

MyFileName = "C:\Users\test.xlsm"

With App
.Workbooks.Open Filename:=MyFileName
.Visible = True
If .ReadOnly Then
MsgBox "こちらは既に開いているファイル●●になります。"
App.Quit '既に開いているファイルがあれば閉じる
End If
End With

End Sub

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com