- ベストアンサー
Excelを画面に表示せずに
Windowsのタスクで、Excelを画面に表示せずに動かしたいのですが、そのようなことはできるのでしょうか? ホームページを調べても起動時に非表示というのが見つからなくて困っています。 おねがいします。教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VBScriptから Set objExcel = CreateObject("Excel.Application") objExcel.Visible = false objExcel.Workbooks.Open("c:\book1.xls") objExcel.Sheets("Sheet1").Select objExcel.cells(1,1).value="hello" objExcel.Workbooks.Close みたいにすることで、 非表示でファイルを開いてセルに文字を入れたり計算したりできます。 動かしたいというのがどういうことをするのかははっきりわからないので、これ以上のことは書けませんが、VBAでできることは、ほとんどできます。
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#2補足>画面にまったく表示をせずにEXCELを起動→処理→終了をしたかったのです。 そういう意図のもとに#2は、書きました。 タスクに登録する場合は、VBScriptで書いたファイルを登録することになります。 終了までさせる場合は、 objExcel.Quit Set objExcel = nothing とかすればいいかと思います。
お礼
BLUEPIXYさんありがとうございました。 なるほど、と納得できました。 これならうまくいきそうです。実際にやってみようと思います。
- April8
- ベストアンサー率33% (8/24)
意向に沿っているのかちょっとわかりませんが、 VBAのauto_open()を利用します。 動かしたいエクセルを開き、 ツール→マクロ→VisualBasicEditorで VBAプロジェクト画面で右クリック →挿入にて標準モジュールを追加 そのモジュール内に Public Sub auto_open() '実行時のウィンドウの大きさ→最小化 Application.WindowState = xlMinimized End Sub 上記を書き込めば、エクセルを開いたときに 自動で行うことを設定できます。 今回は画面を最小化する記述をしてますので、 エクセルファイルを開くと同時に最小化してタスクトレイに格納されるはずです。 *タスクで自動的に起動する場合、 エクセルのマクロのセキュリティを「低」にする必要があります。それ以外だと、マクロを有効にしますか?とのダイアログが現れたり、マクロが効かなかったりします。
補足
回答ありがとうございます。 上記の通りに動かすと最小化はされましたが、1度は画面に出てしまうのですね・・・ やはり1度も画面に出さずに処理を行うことは無理なのでしょうか?
補足
BLUEPIXYさん回答ありがとうございます。私の質問の書き方が悪かったみたいですみません・・・ Windowsのタスクでbook1.xlsを1日に1回動かしたいのです。 そして、PCで別の処理を行っている場合に画面に表示されると邪魔になるので、画面にまったく表示をせずにEXCELを起動→処理→終了をしたかったのです。 私の説明が下手なばかりに・・・すみません。 自分でも調べたのですが、パラメータを渡せば非表示にできる、できない等書いてあったので、現在起動時にパラメータを渡せるのか試行錯誤しています。