• ベストアンサー

VBA ファイルオープン時の実行方法

ファイルオープン時の実行方法は有りますでしょうか。 また、個人用マクロで実行したいです。 ご存知の方がおられましたら教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.7

質問者様のやりたい事がやっと理解できました。 >エクスプローラーを右クリックし、「新規 Microsoft Office Excel ワークシート」を作ります。 >それを開くときに、VBAを実行したいです。 これは、今までの回答でも出てきておりますが、XLSTARTフォルダの中に、Personal.xlsというファイルを 作り、そのファイルの標準モジュールに、マクロを仕込むことで解決できます。 手元にあるExcelが2003ですのでAuto_Openメソッドではないのですが、私の環境では質問者様の希望する動作になりました。 Private Sub Workbook_Open() MsgBox "Excel Start!!", vbOKOnly End Sub 上記にあるようにイベントにマクロを書くだけで実行されます。 質問者様の場合はAuto_Openメソッドに処理を書き込むことで、目的は達成されるはずです。 それでも動作しない場合は、XLSTARTフォルダにPersonal.xlsが入っているかもう一度確認してみてください。 XLSTARTフォルダについては学習されておりますか? まさかとは思いますが、XLSTARTフォルダのパスは理解されていますよね!? ■Excel 2007 C:\Program Files\Microsoft Office\Office12\Xlstart  と C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTART になります。 自分がインストールするパスを変更してしまっている場合は読み替えて理解して下さい。 参考URLを一読して頂ければ理解も早いかと思います。 参考URL:http://www.relief.jp/itnote/archives/003346.php

参考URL:
http://www.relief.jp/itnote/archives/003346.php
hatokamome
質問者

お礼

ありがとうございます。 この通りやって、出来ました! 皆様有りがとうございます。

その他の回答 (6)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.6

念のためにお聞きしますが、 XLSTARTフォルダの中に、Personal.xlsというファイルを 作り、そのファイルの標準モジュールに、 Sub Auto_Open() MsgBox ("はじめますか") End Sub のように設定します。 MsgBox ("はじめますか") のところに必要な処理を入れます。 ここまではできているのですか。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.5

他の方への補足の中では、何が どううまくいかないのか書いて ないので、回答のつけようが ありませんよ。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

>新しいファイルにに対しても、実行する方法 少し前のも同じ意図の質問だったのかと思われます。 古い方は削除しましょう。 『新しいファイル(ブック)を作成したときに自動的に・・・・をしたい』 でしょうか?。 それとも 新しいブック作成→マクロの仕掛けを埋め込む →『このブックに対して次回から開くときに自動的に・・・をする。』 でしょうか。 ほか回答にあるように『ブックを開いたときの処理』はあります。 ただし、『新しく・・』と条件がつくとまた違います。 ブックAがあって、 ブックBを作成したらブックBに対して・・・を実行、 ブックCを作成したらブックCに対して・・・を実行、というのなら、 ブック作成時の制御マクロをブックAに作成できるか?、という感じです。 ちなみに、 新規にブックを開いたときも1シートだけの状態にしたい。 のであれば、参考。 http://www.ichitaro.com/sanshiro/0807/sn_02.html

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

#1です。個人用マクロですね。 Auto_Openを使用します。 以下を参照してください。 http://okwave.jp/qa/q6371499.html 以下に、Auto_Openについて記述があります。 http://office.microsoft.com/ja-jp/excel-help/HP010342865.aspx

回答No.2

こんにちは。 利用しているマイクロソフトの製品は何でしょうか? そもそもマイクロソフトの製品でしょうか?(KingOffice等) ファイルオープンとはどういった状況でしょうか? 例えば・・・・WordやExcelファイルを開いたときにマクロを自動実行させたいとか、VBAから何かしらのファイルをオープンした時にマクロを実行させたいとか・・・ 情報が少なすぎて憶測によるアドバイスしかできません。 質問の補足として、利用されているOSとソフトウェアのバージョンを書きこんでください。

hatokamome
質問者

補足

有難うございます。 エクセル2007、vistaです。 エクスプローラーを右クリックし、「新規 Microsoft Office Excel ワークシート」 を作ります。 それを開くときに、VBAを実行したいです。 エクセル全体に効果のある「個人用マクロ」できると思ったのですが、うまくいきません。 作業ブックのマクロでは、開いた時、問題なく実行されます。 よろしくお願いいたします。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

コード表でThisWorkbookを選択し、コード表の上の GeneralのところでWorkbookを選択すると、 Private Sub Workbook_Open() End Sub が表示されます。これにイベントの内容を 加えればできます。

関連するQ&A