|
▼pi さん、りすりす さん、こんばんは。
>>ThisWorkbook.Pathの最後に\がついているので
>>\90の\をとるといいかもしれません
>
>試してみたのですが、変化が見られませんでした。
>返答有難うございます。
Pathの最後、"\"は、付いてませんよ!!
mainは、そのままで良いです。
addcode(ThisWorkbook.Path & "\90.txt",ThisWorkbook, "addmdl")
この呼び出ししておいてください。
>'=======================================================================
>Function addcode(flnm As String, wk As Workbook, Optional mdnm As String = "", Optional prnm As String) As Long
>' 機能:指定されたテキストファイルから、指定されたブックにコードを追加又は、書き換える
>' input : flnm---コードが書かれたテキストファイルのパス名
>' wk-----コードを書き込むブックオブジェクト
>' mdnm---書き換える、又は、追加するモジュール名(追加の場合は、標準モジュール)
>' 指定されたモジュール名があれば、書き換え、なければ追加
>' prnm---書き換えるプロシジャー名
MsgBox flnm & ":" & wk.Name & ":" & mdnm
' これでパラメータが正しいか確認して下さい
'On Error Resume Next
' ↑コメントにして下さい
' このサブルーチン内でエラーになりますから、
' どのコードでどんなエラーが発生したか確認して下さい
> Dim vbcp As Object
> 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
97では確認してませんが、2000では正常にインポートされています。
心配なのは、97にAddFromFileメソッドがあったかどうかですが・・・。
これで、エラー箇所が特定できると思います。
|
|