- ベストアンサー
Excelマクロの命令文を教えてください。
EXCEL2002です。現在Access2002に簡単なマクロを作りAccessよりExcelで作った000.xlsを開いてます。その000.xlsに下記のようなマクロを入れて実行し目的を果たしています。 Sub LROpen() ChDir "D:\EXCEL\LRTotal" myfile = Application.GetOpenFilename Workbooks.Open Filename:=myfile End Sub 本当はAccessからいっぺんに上記マクロのEND SUBまで行きたい所ですが私の力では無理なのでこのように段階的になってます。質問はこの上記マクロが張ってある000.xlsが開いたとき自動的にマクロが実行される様にする方法があるかお尋ねする次第です。宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「VBエディタ画面の左側上のツリーでThisWorkbookをダブルクリックし」この意味がいまいちはっきり分かりません。 VBEの画面のVBAProjectのMicrosoftExcelObjectの 「ThisWorkBook」をダブルクリックする。 現れた画面の「General」の▼をクリックして Workbookをクリック、右上の「Declaration」の▼をクリックして、「Open」をクリックすると、 Private Sub Workbook_Open() End Sub となるから、その間に回答のコードをコピペしなさいということです。 >マクロの編集でご指示のようにPrivate Sub Workbook_Openを一番上に書きました 上記のとおりコードを打ちこむのと、上記のような操作を するのは差がありそうです。また覚えれば上記の操作の法が正確簡単ですしね。
その他の回答 (1)
VBエディタ画面の左側上のツリーでThisWorkbookをダブルクリックし、 Private Sub Workbook_Open ChDir "D:\EXCEL\LRTotal" myfile = Application.GetOpenFilename Workbooks.Open Filename:=myfile End Sub と記述すれば、このWorkbookが開くたびに自動的に実行される と思います。
お礼
有り難うございました。お陰様で出来ました。一番最初にご回答していただき感謝しています。
補足
早速有り難うございます。結論から言いますとうまく行きませんです。 気がついた点を書きます。 1 「VBエディタ画面の左側上のツリーでThisWorkbookをダブルクリックし」この意味がいまいちはっきり分かりません。 2 マクロの編集でご指示のようにPrivate Sub Workbook_Openを一番上に書きました。全部小文字で書きまして改行したらPrivate Sub のPとSはちゃんと大文字になりましたがWorkbook_Open のWとOは大文字になりませんでした。 3 Openのうしろに()が自動的に出来ました。 4 とにかく下記のようにして Sub LROpen() ' Macro1 Macro ' マクロ記録日 : 2004/3/8 ユーザー名 : xxxx ' Private Sub Workbook_Open() ChDir "D:\EXCEL\LRTotal" myfile = Application.GetOpenFilename Workbooks.Open Filename:=myfile End Sub まず000.xlsを開いても何事も起きないのでマクロを実行したら コンパイル エラー End Subが必要ですと出てしまいます。 そしてSub LROpen()の所が黄色になっていました。 以上お気づきの点があったら宜しくお願いします。
お礼
ツリーが表示されていなかったためとんちんかんになってしまいました。お陰様で初期の目的が達成できました。有り難うございました。
補足
皆さんにお世話になり有り難うございます。非常に恥ずかしいのですがやっぱり分かりませんです。 念のためツールからマクロそしてVisual Basic Editorを開くのですよね。この場面でツリーと言う言葉が何を指しているのか分かりません。ツリー状の物が現れていません。ですから 「VBEの画面のVBAProjectのMicrosoftExcelObjectの 「ThisWorkBook」をダブルクリックする。 現れた画面の「General」の▼をクリックして Workbookをクリック、右上の「Declaration」の▼をクリックして、「Open」をクリックすると、 Private Sub Workbook_Open() End Sub 」 も何がなんだか分からなくて出来ません。 やはり小生のレベルでは無理かもしれませんです。