|
▼ハル さん、皆さん、こんにちは。
VB側で、
set app =createobject("excel.application")
with app
.visible=true
set bk=app.workbooks.open("D:\My Documents\callingtest.xls")
' ↑オープンするExcelブック
end with
こんなコードでインスタンスを作成しているのですよね?
だとしたら、
app.run "callingtest.xls!module1.macro1"
で呼び出せます。
Macro1というプロシジャーが標準モジュールではなく、Thisworkbookにコピーされていれば、
bk.macro1
でOKです(私は、これはよく使います)。
確認して下さい。
>
><ThisWorkbook>
>Public Sub Workbook_Open()
>
> iFlg = 0
> strBakDat = "-1"
>
> Sheets("Sheet1").Select
> Range("A1").Select
> Module1.Macro1
>End Sub
>Public iFlg As Integer
>Public strBakDat As String * 16
>
>
><Module1のソース>
>Public Sub Macro1()
>'
>' Macro1 Macro
>' マクロ記録日 : 2004/10/26 ユーザー名 : ?????
>'
>
>'
> Dim strDat As String * 16
>
> 'webクエリ更新
> Selection.QueryTable.Refresh BackgroundQuery:=False
>
> strDat = Cells(2, 3).Value
>
> '値が変わっていれば、テキストファイルに保存
> If strDat <> strBakDat Then
> strBakDat = strDat
> Open "d:\data1.csv" For Output As #1
> Write #1, strDat
> Close #1
> End If
>End Sub
>
>
>よろしくお願いします。
|
|