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で質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AutoCADでクリップボードから貼...
-
図面上で、削除できない線について
-
画層フィルタの削除方法
-
AUTO CAD LT2000の画層フィルタ...
-
EXCELにAUTOCAD図面を貼り付け...
-
Auto CADで複数オブジェクトの...
-
autoCADのレイヤーと表示順序
-
CADの図面練習がしたいので...
-
jw-cadで図面を回転する法
-
JWW 文字列をコピーして他図面...
-
AutoCAD図面の「ゴミ」って取れ...
-
P21をJWWで読みたい
-
JW CADについての質問です
-
jwcadで既設の線や文字の属性を...
-
1/500から1/300にする 何倍で...
-
他図面へのコピぺができない
-
図面などにて出てくる「m/m」は...
-
建築図面に関してです。 A2の紙...
-
変換した図面を開いた所縮尺が...
-
JWWで、ブロック図形は範囲で選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AutoCADでクリップボードから貼...
-
EXCELにAUTOCAD図面を貼り付け...
-
図面上で、削除できない線について
-
JWW 文字列をコピーして他図面...
-
ExcelからAutoCADへの連携がで...
-
Auto CADで複数オブジェクトの...
-
EXCELからAUTOCADに貼り付け
-
AutoCADで線を色ごとにレイヤに...
-
イラストレーターからパワーポ...
-
AutoCAD ビューポートで3D断面...
-
動きがカクカクします
-
AUTO CAD図面をメールで送ると・・
-
jw-cadで図面を回転する法
-
AutoCAD図面の「ゴミ」って取れ...
-
auto cad lt 2010 動作が重い...
-
autoCADのレイヤーと表示順序
-
AUTO CAD のファイルサイズが小...
-
DWG図面をエクセルに貼り付け、...
-
InDesign CS4
-
Autocad LT2010 モデル空間に写...
おすすめ情報