VBからエクセルを起動する際、すでに開いているファイルは開かないようにしたく、検索をした結果
http://oshiete1.goo.ne.jp/kotaeru.php3?q=237618
の回答があり参考にしたのですが、うまくいきません。
はじめは
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
がうまくいかず悩んだのですが、「オブジェクト」-「参照設定」でエクセルを選択することによって解決しましたが、
For Each xlsBook In xlsApp.Workbooks
'見つかったらループを抜ける
If StrComp(xlsBook.FullName, findBookPath, vbTextCompare) = 0 Then
Exit For
End If
Next xlsBook
の部分で上手く引っ掛けることができません。
なにか設定が足りないのか?
どなたか分かる方がみえましたらよろしくお願いいたします。
では
No.2ベストアンサー
- 回答日時:
Excel.Applicationはクラス名(?)です。
Set xlsApp = GetObject(, "Excel.Application")
第2引数になるのでこのようにしたらどうでしょう?
ありがとうございます。
早速やってみました。
そしたら、見事!2重に開かなくなりました。
ありがとうございます。
これでやっと先に進むことが出来ます。
感謝!感謝!
No.1
- 回答日時:
FullNameで受け取るパスは絶対パスだったと思います。
findBookPathは絶対パスになっていますか?
それと、パスの最後等にスペース等が入っているとStrCompは-1を返すので注意してください。
上記の質問ですと、WorkbookをOpenする事は出来ているわけですよね。
そうすると、このぐらいしか思いつかないです。
早速のご回答ありがとうございます。
初心者なのであまり難しいことは分かりませんが、
STOPで止めて確認したのですが、FullNameは”c:¥○○¥○○.xls”
となっており最後に空白は入っていません。
また、OPENはできる状態で、二重に起動してしまう問題です。
後、
On Error Resume Next と
On Error GoTo 0を外して、
エクセルを起動した状態で走らせて見ると
Set xlsApp = GetObject("Excel.Application")
でエラーが出て止まります。xlsApp =notingです。
このあたりに問題がありそうな気がしてきました。もう少し調べてみます。
では
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
VBAで二重起動を防止したいのですが、
その他(Microsoft Office)
-
EXCELのマクロの重複起動の禁止
Excel(エクセル)
-
VBでエクセルをOPEN
Visual Basic(VBA)
-
-
4
既にファイルが開いているのなら開かない(二重起動防
Access(アクセス)
-
5
EXCELが二重起動してしまう
Excel(エクセル)
-
6
Excelで「同じ名前のファイルが既に開いています」
Excel(エクセル)
-
7
Excelが終了しません
Visual Basic(VBA)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
ファイルの2重に開いた場合の処理(エクセルVBA)
Access(アクセス)
-
10
指定のWORKBOOKを前面表示する方法(エクセル:VBA)
Excel(エクセル)
-
11
既に開いているエクセルを閉じるには?
その他(Microsoft Office)
-
12
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
13
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fopenでのパス指定
-
xcopyコマンドの進行状況を表示...
-
アプリケーションのインストー...
-
バッチファイル 二つ上のディ...
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
エクセルのマクロで特定フォル...
-
Atom上でc言語を用いてgnuplot...
-
SendKeysステートメント
-
【続き】windowsペイントを開く...
-
ショートファイルネーム→ロング...
-
SaveAsの保存先について
-
EXCEL(VBA)で指定フォルダ内の...
-
【Excel VBA】Power Qurry のソ...
-
VBAとResgen.exeを使用して、re...
-
コマンドプロンプトのコピー関...
-
【VBA】複数のtxtファイルから...
-
VBScript で未作成ファイルの親...
-
バッチファイルが動きません
-
OleDbDataAdapterのエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
バッチファイル 二つ上のディ...
-
VBAでパワーシェルを実行したい...
-
VBA一覧取得 再投稿
-
【VB.NET】App.configにファイ...
-
エクセルVBAで一つ上の階層...
-
初心者powershellのPS1ファイル...
-
ExcelVBAの使い方 ¥の使い方...
-
EXCEL(VBA)で指定フォルダ内の...
-
SaveAsの保存先について
-
Excel 相対パス
-
パスワード保護されたExcelファ...
-
【VBA】ExcelマクロでCSVファイ...
-
xcopyコマンドの進行状況を表示...
-
エクセルのマクロで特定フォル...
-
VBA★PDFをPDFアプリで印刷し...
-
VBS パスに変数を入れたい
-
コマンドプロンプトのコピー関...
-
【VBA】複数のtxtファイルから...
-
開いているファイルを削除し、...
おすすめ情報