|
▼ichinose さん 今晩は
コメントや、パラメータといったものがよく分かりません。
申し訳ないです。
Sub main()
ret = addcode(ThisWorkbook.Path & "\90.txt", ThisWorkbook, "addmdl")
If ret = 0 Then
MsgBox "挿入成功"
'Application.Run "macro1"
Else
MsgBox Error(ret)
End If
End Sub
Function addcode(flnm As String, wk As Workbook, Optional mdnm As String = "", Optional prnm As String) As Long
On Error Resume Next
Dim vbcp As Object
MsgBox flnm & ":" & wk.Name & ":" & mdnm
With wk.VBProject
Set vbcp = .VBComponents(mdnm)
If Err.Number <> 0 Then
Set vbcp = .VBComponents.Add(1)
If mdnm <> "" Then vbcp.Name = mdnm
Else
If prnm <> "" Then
Err.Clear
stln = vbcp.CodeModule.ProcStartLine(prnm, 0)
edln = vbcp.CodeModule.ProcCountLines(prnm, 0)
vbcp.CodeModule.DeleteLines stln, edln
End If
End If
Err.Clear
vbcp.CodeModule.AddFromFile flnm
End With
addcode = Err.Number
On Error GoTo 0
End Function
この通りに実行すると、まず、
C:\(途中省略) \デスクトップ\90\90.txt:121212.xls:addmdl
と、出てきます。ちなみに121212.xlsと90.txtは90という名前のフォルダに
入っています。90という名前のフォルダは、
デスクトップにあります。
その後に、"オブジェクト変数 または Withブロック変数が設定されていません
と、出てきます。
▼IROC さん 今晩は
>ちょっと単語が違います。
>マクロだけ更新したブックを送り、
>シートのデータは、そのマクロだけ更新したブックのシートにコピーする。
あ、ブックの中にシートがあり、シートはファイルではないんですよね。
ちょっと勘違いしてました、すみません。
|
|