
ExcelのVBAでAutoCADの操作をしようと勉強中なのですが
参考資料を真似て
--------------------------------------------------------
Function acad_int()
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
(上の行でERR'429'Activexコンポーネントはオブジェクトを作成できません。のエラー)
If Err Then
Set AcadApp = CreateObject("AutoCAD.Application")
AcadApp.Visible = True
End If
AcadApp.Visible = True
End Function
-----------------------------------------------------------
コピーしてExcelで実行すると、GetObjectで上記( )内のエラ-メッセージがでます。
参照でAutoCAD 2004 タイプライブラリ にはチェック入れています。
また、AutoCADを起動していても、していなくても同じみたいです。
使用しているのは ・AutoCAD LT2004
・オフィス2003Excel
ですが、何せ初心者で始めたばかりでここから進む事ができません。
どうかお力をお貸しください。
No.3ベストアンサー
- 回答日時:
少し勘違いされてるかな?
VB6.0とは、ExcelVBAとは違いますよ。
「Visual Basic6.0」の略なんですが、これはExcelとは別物のソフト
の事です。簡単に言えば、ソフト開発者向けの専用ソフトの事ですよ。
だから、完全にExcelVBAとは別の物です。ただ言語が「Visual Basic」で共通というだけです。
だから、VB6.0からExcelを参照する時に、アプリケーションから捕ら
える必要があります。その時の記述が参考になるかもしれないと思い
回答しました。
procatopusさんの言うように、標準に搭載しているExcelの機能では、
捕らえきれないかもしれないですね。
私もLTとVBAの組み合わせで様々な処理を考えてきましたが、分かり
ませんね。以前、自分の周りの誰かが、その処理を有効にするクラス
モジュールをどっかで購入したとか聞いた様な気が。。。。。
(この辺は他の回答者を期待して下さい。)
ところで、質問のソースで、
AcadApp.Visible = True
となってますが、この処理は、オブジェクトを非表示から表示にする
処理。つまり、現在のAutoCADが表示となっている?
こんな処理が本当にしたいのですか?あくまでサンプル?
ただ単に、AutoCADを選択したい場合、ExcelとAutoCADが開かれてい
る状態でのコーディングは
Sub test()
AppActivate "AutoCAD"
End Sub
で大丈夫ですよ。しかし、選択から先の処理が本命でしょうから。。
結局、この質問の先に、どういった処理をお考えなんでしょうか?
VBAを使用するなら、スクリプトファイルにコマンドをシーケンシャル
出力して、スクリプトを実行する事による、自動作図を作成するみた
いな処理を考えるのはどうでしょうか?
あくまでアドバイスとしてです。
いろいろご丁寧にありがとうございます。
何分初心者で真似から始めているものですから
ExcelVBAと開発用の言語の処理が同じものと
思っていましたので、引用したものが動作する
のではと勘違いしておりました。
知らないと言うことは恐ろしいものですね。
土地の形状、面積をAutoCADで作図するより、
Excelで線分作画や面積計算をしたほうが早いのでは
ないかと思い自分なりにできればやって見たいと
思いまして不明な点を質問した訳でした。
これからも少しづつ勉強していきたいと思います。
不明な点があればご指導ください。
よろしくお願いします。
No.2
- 回答日時:
LTは残念ながらExcelVBAには未対応なんで使えませんよ。
LTでもVBAやLispが使用出来る外部ソフトはあるようですが・・・・
ここで検索すれば情報があるはずです。
http://www.mura.sh/
AcadRemocon使えばVBSでカスタマイズができますよ。(現在HPは引越し中のようですね。)
参考URL:http://www.kjufactory.com/bbs/index.asp
そうでしたかExcelVBAではAutoCAD LTとの連携は
できないと言うことですね。
一つ勉強になりました。
ありがとうございました。
No.1
- 回答日時:
AutoCADを参照した事が無いので、参考になるか分かりませんが。
VB6.0からExcelを操作する場合には下記の様な記述になります。
変数宣言~オブジェクトセットまでの流れですが。
---------------------------------------------------------
'オブジェクトへの参照を格納する変数を宣言(事前バインディング)
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
'変数にオブジェクトの参照を代入します。
'新規 workbookとworksheet オブジェクトを作成します。
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
---------------------------------------------------------
変数「AcadApp」の変数宣言文がありませんので、なんとも言えない
んですが、その辺は大丈夫でしょうか?
お忙しいところありがとうございます。
ご指導いただいたExcelからExcelへの
オブジェクト取得はばっちりでした。しかし、
ExcelからAutoCADのオブジェクト取得はだめでした。
Set AcadApp = GetObject(, "AutoCAD.Application")
でやはり同じエラーです。
AutoCAD LT2004は問題なく作動します。
VB6.0とAutoCAD LT2004の関係なのでしょうか?
変数宣言
Dim AcadApp As AutoCAD.AcadApplication
は質問に抜けていました。すみません
入っていました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- CAD・DTP Auto CAD LT → Auto CAD 1 2022/04/20 12:29
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) vba sendKeysを送る相手のソフトを前面に開くには 1 2023/07/20 16:42
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- CAD・DTP EXCELからAUTOCADに貼り付け 1 2022/04/20 17:42
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AutoCADでクリップボードから貼...
-
EXCELにAUTOCAD図面を貼り付け...
-
AutoCAD ビューポートで3D断面...
-
図面上で、削除できない線について
-
JWW 文字列をコピーして他図面...
-
CADの図面練習がしたいので...
-
AutoCAD図面の「ゴミ」って取れ...
-
EXCELからAUTOCADに貼り付け
-
建築図面に関してです。 A2の紙...
-
図面などにて出てくる「m/m」は...
-
1/500から1/300にする 何倍で...
-
P21をJWWで読みたい
-
JW CADについての質問です
-
変換した図面を開いた所縮尺が...
-
他図面へのコピぺができない
-
勝手反対って何でしょうか?
-
JWWで、ブロック図形は範囲で選...
-
図面1/70スケールを1/50にする...
-
建築図面記号でアの文字が外周...
-
jwcadで既設の線や文字の属性を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AutoCADでクリップボードから貼...
-
図面上で、削除できない線について
-
EXCELにAUTOCAD図面を貼り付け...
-
AutoCAD ビューポートで3D断面...
-
CADの図面練習がしたいので...
-
EXCELからAUTOCADに貼り付け
-
動きがカクカクします
-
AutoCAD図面の「ゴミ」って取れ...
-
AutoCADで線を色ごとにレイヤに...
-
JWW 文字列をコピーして他図面...
-
autoCADのレイヤーと表示順序
-
jw-cadで図面を回転する法
-
Auto CADで複数オブジェクトの...
-
DWG図面をエクセルに貼り付け、...
-
CAD 「コントロールバー」の『...
-
ExcelからAutoCADへの連携がで...
-
InDesign CS4
-
auto cad lt 2010 動作が重い...
-
データー容量が急に増えた。
-
イラストレーターからパワーポ...
おすすめ情報