- 01: 名前:依田純一投稿日:2001/06/28(木) 19:59
- Viso2000SR1で、VBAマクロを管理するために、importメソッドを使って、
モジュールやフォームをインポートしています。
しかし、Visio2002ベータでは、フォームをインポートしようとすると、
エラーメッセージが出て、インポートできません。
エラーメッセージは、ログを見ると、
”行 8: プロパティ OleObjectBlob(UserForm1) が不正です。”となっていて、
UserForm1の8行目は、
” OleObjectBlob = "UserForm1.frx":0000 ” となっています。
この問題は、Visio2002ベータで作成したフォームでも同じように起きます。
通常のメニューでのインポートでは、全く問題がありませんし、
プログラムも正常に動きます。
Visio2002ベータをインストールするときかなにかに、なにか、
しなければいけないことがあったのでしょうか。
- 02: 名前:名無しさん投稿日:2001/06/29(金) 11:53
- 回答ではないのですが・・・importメソッドを使えばテンプレートファイルなどに付加したVBAマクロの差し替えをする事が出来るのでしょうか?
VBAファイルの更新をしたいのですが何か方法はないでしょうか?
- 03: 名前:依田純一投稿日:2001/06/29(金) 13:11
- Visio2000sr−1では、
プロジェクトにマクロをインポートするには次のようにします。
Vbe.ActiveVBProject.VBComponents.Import (myfilepath & "UserForm1.frm")
プロジェクトのマクロをエキスポートするには次のようにします。
For Each mycomponent In Vbe.ActiveVBProject.VBComponents
Select Case mycomponent.Type
Case 1
ext = "bas"
Case 2, 100
ext = "cls"
Case 3
ext = "frm"
Case Else
ext = "cls"
End Select
mycomponent.Export (myfilepath & mycomponent.Name & "." & ext)
プロジェクトのマクロを消去するには次のようにします。
resp = MsgBox("Do you really remove all macros?", 52, "Remove All Macros")
If resp = vbYes Then
For Each mymember In Vbe.ActiveVBProject.VBComponents
If mymember.Name <> "ThisDocument" Then
If mymember.Name <> "ImpoertantMacro" Then
Vbe.ActiveVBProject.VBComponents.Remove mymember
End If
End If
Next
End If
マクロをインポートするときに、名前が重複しているとエラーに
なりますので、あらかじめ、マクロを消去しておくことが必要です。
Visio2002ベータでは、エキスポートと消去は問題なくできるのですが、
インポートに問題があります。
- 04: 名前:名無しさん投稿日:2001/07/03(火) 09:54
- ありがとうございます。
これはThisDocumentに関してはマクロの差し替えが出来ないと言う事ですよね?
ThisDocumentの部分を変えたい場合、手立てはないのでしょうか?
- 05: 名前:依田純一投稿日:2001/07/06(金) 00:14
- ThisDocumentに関しては失望しています。
■トップに戻る リロード 単独スレ表示
|