![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
「エクセルファイルが開いていたら開かない」としたいです。
VB2010です。
--------------------------------------------------------------
Imports Microsoft.Office.Interop '参照設定済み
Module Module1
Sub ExcelOpen()
Dim ExcApp As Excel.Application
Dim book As Excel.Workbook
Dim MyPath As String
MyPath = "C:"
ExcApp = CreateObject("Excel.Application")
ExcApp.Visible = True
book = ExcApp.Workbooks.Open(MyPath & "\test.xlsm")
End Sub
End Module
--------------------------------------------------------------
で、ファイルを開くのですが、既にファイルが開いている場合は、2個開いてしまい、
最後に開いたファイルが読み取り専用になってしまいます。
IFで、開いているかどうかを取得して、
開いているのなら「既に開いています」として、ExitSubがしたいです。
ご協力よろしくお願いします。
No.2ベストアンサー
- 回答日時:
VB2010で新たな「方法」があるかもしれませんが
古典的?な方法です。
花ちゃん さんの
指定のファイルが使用中かどうかを調べる (015)
http://hanatyan.sakura.ne.jp/vbhlp/excel03.htm
おしまいの方にあります。
Function モジュールに作りかえれば使い回しが出来ます。
No.1
- 回答日時:
こんにちは。
今、私の新しいパソコンには、VB.Net はインストールしていないので試せないのですが、二重起動の問題ですよね。いくつか方法はあると思うのですが、
ひとつの方法ですが、
ExcApp = CreateObject("Excel.Application")
このコードの前に、GetObject(, "Excel.Application")で、もし、オブジェクトが取れれば、メッセージを出すという方法があるはずです。
他は、WMIやWin32 APIで、取る方法もありますが、上記方法が、もっとも簡単だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) モードレスでユーザーフォームが開け(表示)ません。 4 2022/09/09 11:05
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
開いているXLSファイルが読み取り専用か調べる
Visual Basic(VBA)
-
すでにファイルが開かれている時のエラー回避
Visual Basic(VBA)
-
-
4
VBでExcelが起動されているか知りたい
Visual Basic(VBA)
-
5
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
6
OpenFileDialogを使った後にもう一度開くと以前のファイルを表示させたい。
Visual Basic(VBA)
-
7
起動中のEXCELファイル(EXCELプロセスではなく)のうちひとつを終了したい(C#.NET2003)
その他(データベース)
-
8
CloseとDisposeの違い
Visual Basic(VBA)
-
9
C#でExcelのシートを選択する方法
その他(プログラミング・Web制作)
-
10
VB.NETでファイル名順にファイルを読む方法
Visual Basic(VBA)
-
11
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
12
既に開いているエクセルを閉じるには?
その他(Microsoft Office)
-
13
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
-
14
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
15
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
16
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
17
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
18
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
19
DataGrdViewに関連付けたデータの更新
C言語・C++・C#
-
20
VB2010でExcelの行をコピーして挿入する
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FileDialog オブジェクトでファ...
-
VB.Netソリューションでフォー...
-
VBAでフォルダ内のhtmlファイル...
-
サブフォルダ含むフォルダ内の...
-
vbaサブフォルダーをワイルドカ...
-
VBA、ファイル名検索から開く、...
-
Accessのウインドウサイズの固定
-
ffftpでファイル取得が0バイト...
-
excel マクロ PDF化の際のエラ...
-
Excel VBAでのファイル名取得方法
-
AccessからOLEオブジェクト型の...
-
ディレクトリ配下のファイル名...
-
VBAでCSVファイルを読み込もう...
-
更新日が指定日以降のファイル取得
-
Wordのプロパティ・総ページ数...
-
【ACCESS VBA】アクセスからデ...
-
コモンダイアログのファイルを...
-
WinInet.dll の使い方
-
「エクセルファイルが開いてい...
-
VBAによるファイル名リスト作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
ffftpでファイル取得が0バイト...
-
FileDialog オブジェクトでファ...
-
サブフォルダ含むフォルダ内の...
-
「エクセルファイルが開いてい...
-
Accessのウインドウサイズの固定
-
excel マクロ PDF化の際のエラ...
-
ExcelVBA 文字コード変換
-
AccessからOLEオブジェクト型の...
-
VBAでフォルダ内のhtmlファイル...
-
【VBAマクロ初心者】Excel VBA...
-
VBからExcelファイルを開くとき...
-
「AccessViolationException」...
-
【ACCESS VBA】アクセスからデ...
-
VB6でUTF-8ファイルの読取りを
-
ファイルを開く時間測定のスク...
-
複数のワークブックのVBAを変更...
-
VB.net XMLの作成方法 Iniの代替
-
エクセルのVBAで開いている...
おすすめ情報