プロが教える店舗&オフィスのセキュリティ対策術

VBAでエクセルファイルを開いて処理していますが
一つのエクセルファイルを開いている時に(これは手操作)
VBAからエクセルファイルを開くと
一瞬、開いたような反応を示すのですが
すご、閉じてしまい
用を足しません
こんな時、VBAで今開こうとするエクセルファイルを
優先的に開けたら、と思いますが
むりでしょうか?
よろしくお願いします

A 回答 (2件)

以下の方法で開けませんか?



Sub ExcelCreate()
Set MyExcel = CreateObject("excel.application")
'MyExcel.Workbooks.Open FileName:="C:\test.xls" '<---既存のエクセルブックを開く場合
MyExcel.Workbooks.Add '<---新しくエクセルを生成する場合
MyExcel.Visible = True
End Sub
    • good
    • 1
この回答へのお礼

回答ありがとうございました

お礼日時:2007/04/20 11:09

こんばんは。



どんなコードか分かりませんが、いつもとパターンは同じではないのではありませんか?

maaaaさんへの過去の自分の書いた回答を読み直してみました。もう、同じことを書いても口説くなるので、割愛します。

Excelを開いているのですから、GetObject で、Class名側に、Excel.Application で取るか、直接ブック名で、オブジェクトを取得するか、どちらかにすればよいと思います。私は、賛成しなかったけれども、Access流?それとも、AccessClub流で、直接ブック・オブジェクトを取っていましたね。その方法で、たぶん確信を持ってやっていらっしゃると思いました。ただし、ブック・オブジェクトを直接取る場合は、気をつけないと、そのブック自体を閉じると、そのブックのVBProject だけを残してしまう可能性があります。

しかし、今回のような場合は、特に、Excel Applicationオブジェクトがあるのですから、GetObject で、それを取る方法で良いはずです。コードは、すでにお分かりのはずです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました

お礼日時:2007/04/20 11:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています