- ベストアンサー
VBA 起動時にエクセルの画面が表示されてしまう
VBA 起動時にエクセルの画面が表示されてしまう こんにちは、VBA初めて1週間ぐらいの初心者です よろしくお願いします 動作環境として、OS:XP excel:excel2007 を使用しています まずはじめに、エクセルを開いて内容変更セーブして終了するというマクロを組んだのですが 別のプログラムから、 そのエクセルファイルに起動をかけて マクロを実行し終了するよう作りました。 /*** コード ***/ ThisWorkbook 0 Private Sub Workbook_Open() 1 Application.Visible = False //エクセル画面を消す 2 3 call 内容変更し保存する関数() // 標準モジュール内 SUB 関数 4 5 ThisWorkbook.Saved = True // セーブしたことにする 6 If Workbooks.Count <= 1 Then Application.Quit // 他のエクセルが開いてない場合のみ終了する 7 ThisWorkbook.Close False // エクセル終了 8 End Sub /*** コード ***/ 質問1 ・1行目にエクセルの画面を消す関数を、プログラムの先頭に来ると思われる部分に入れて実行してみたのですが、 どうしても、起動してから画面を消す処理が始まるまでに、一瞬だけexcelのファイルが表示されてしまうのですが これを回避する方法はありますでしょうか? VBAを使ってマクロの処理をするのですが、 使う方にエクセルを使っているという事を悟られたくないのです 質問2 ・6行目、開いてるエクセルが自分だけの場合のみエクセルを終了すると組んだつもりなのですが、 処理を流すとエクセルで開いているファイルがすべて閉じてしまいます。 記述を間違えていたりしますか? 以上 ご教授お願いいたします <<検索ワード>> VBA VBA 起動画面表示 起動画面非表示 起動画面を出さない 起動画面を消す
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- mt2008
- ベストアンサー率52% (885/1701)
- watabe007
- ベストアンサー率62% (476/760)
- nda23
- ベストアンサー率54% (777/1416)
- JavaJavax2
- ベストアンサー率22% (68/305)
お礼
nda23 さん たびたびのご回答ありがとうございます^^ COMってのがよくわからないのですが CreateProcessを使ってエクセルファイルを直接呼んでみたら うまくいきましたので、解決とさせていただきます^^ お世話になりました♪