解決済み

エクセルの二重起動をやめたい

  • 暇なときにでも
  • 質問No.261882
  • 閲覧数1844
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 87% (62/71)

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
の部分で上手く引っ掛けることができません。
なにか設定が足りないのか?
どなたか分かる方がみえましたらよろしくお願いいたします。
では
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル7

ベストアンサー率 58% (7/12)

Excel.Applicationはクラス名(?)です。

Set xlsApp = GetObject(, "Excel.Application")

第2引数になるのでこのようにしたらどうでしょう?
お礼コメント
kamechan

お礼率 87% (62/71)

ありがとうございます。
早速やってみました。
そしたら、見事!2重に開かなくなりました。
ありがとうございます。
これでやっと先に進むことが出来ます。
感謝!感謝!
投稿日時 - 2002-04-30 13:22:36
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全1件)

  • 回答No.1
レベル7

ベストアンサー率 58% (7/12)

FullNameで受け取るパスは絶対パスだったと思います。
findBookPathは絶対パスになっていますか?
それと、パスの最後等にスペース等が入っているとStrCompは-1を返すので注意してください。

上記の質問ですと、WorkbookをOpenする事は出来ているわけですよね。
そうすると、このぐらいしか思いつかないです。
お礼コメント
kamechan

お礼率 87% (62/71)

早速のご回答ありがとうございます。
初心者なのであまり難しいことは分かりませんが、
STOPで止めて確認したのですが、FullNameは”c:¥○○¥○○.xls”
となっており最後に空白は入っていません。
また、OPENはできる状態で、二重に起動してしまう問題です。
後、
  On Error Resume Next と
  On Error GoTo 0を外して、
エクセルを起動した状態で走らせて見ると
 Set xlsApp = GetObject("Excel.Application")
でエラーが出て止まります。xlsApp =notingです。
このあたりに問題がありそうな気がしてきました。もう少し調べてみます。
では
投稿日時 - 2002-04-30 11:21:15
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ