製品タグ
現在excel2003のVBAで作成し稼動しています。
このたびVB2010にて登録ツールとして組み込みたいのですが、Docコマンドを認識しません。
どのようにしたら動くのか教えてください。
ちなみにwindows7 のパソコンです。
よろしくお願いします。
CADは、図脳rapidcivil.2です。
回答8件
excel VBAはVB6とはかなり似てますけど、.NET以降のVBは随分変わってしまったので移行は大変だと思います。私も随分苦労しました。。。
さて、図脳クラブの「CADの情報箱」に「背景色切り替えツール」っていうのがあります。詳しくは「背景色の設定について」というトピックを見て頂くとして、OLEオートメーションをVB2010で動かすための最小限のコードを含んだソースがついていますので、参考にしてみたら如何でしょうか?
Docコマンドを認識しない、とのことですが、多分「Set Doc=」云々の事だと思います。、残念ながらこの構文はVB2010では使えません。前述の「背景色切り替えツール」の該当部分は次の投稿のように記述しています。
大変だと思いますが、VB2010へは「慣れる」しかないんだろうなぁ。
なんせ、VB自体の構文が違うので仕方ないと割り切ってます
ソース抜粋です。
————————————————-
Private Sub Cad_Connect()
‘ CADに接続します(CADが起動されていない場合は起動します)。
cadApplication = New zwDrawCAD.Application
‘ CADが非表示の場合、CADを表示します。
If cadApplication.Visible = False Then
cadApplication.Visible = True
End If
‘ アクティブなドキュメントがない場合、新規作成を行います。
If IsNothing(cadApplication.ActiveDocument) Then
Dim cadDocuments As zwDrawCAD.Documents
cadDocuments = cadApplication.Documents
cadDocuments.Add()
‘ 参照したオブジェクトを解放します。
Marshal.ReleaseComObject(cadDocuments)
End If
End Sub
————————————————–
仕事爆発中につきRes遅れました…..
さて、GetScaleですが、動きましたよ。
VB内の構文など、何でエラーが出ているかチェックしてみて下さい。
以下コードです。
—————————————–
Private Sub Precess_BG()
Dim Process_Document As zwDrawCAD.Document
Dim PD_denomi As Integer, PD_nume As Integer, PD_ret As Boolean
Process_Document = cadApplication.ActiveDocument
PD_ret = Process_Document.GetScale(PD_denomi, PD_nume)
MsgBox(PD_nume / PD_denomi)
End Sub
————————————–
トピック「OLEオートメーションの設定について」には新しい返信をつけることはできません。