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で質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AutoCADでクリップボードから貼...
-
EXCELからAUTOCADに貼り付け
-
JWW 文字列をコピーして他図面...
-
図面上で、削除できない線について
-
データー容量が急に増えた。
-
AutoCAD 2010 画層プロパティ管...
-
AutoCAD ビューポートで3D断面...
-
AutoCAD図面の「ゴミ」って取れ...
-
EXCELにAUTOCAD図面を貼り付け...
-
P21をJWWで読みたい
-
JW CADについての質問です
-
1/500から1/300にする 何倍で...
-
jwcadで既設の線や文字の属性を...
-
図面などにて出てくる「m/m」は...
-
建築図面に関してです。 A2の紙...
-
JWWで、ブロック図形は範囲で選...
-
ベクターワークスで作成した図...
-
図面1/70スケールを1/50にする...
-
他図面へのコピぺができない
-
Autocad→JWcadに変換した場合の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AutoCADでクリップボードから貼...
-
EXCELにAUTOCAD図面を貼り付け...
-
図面上で、削除できない線について
-
JWW 文字列をコピーして他図面...
-
jw-cadで図面を回転する法
-
AutoCAD図面の「ゴミ」って取れ...
-
EXCELからAUTOCADに貼り付け
-
AutoCADで線を色ごとにレイヤに...
-
Auto CADで複数オブジェクトの...
-
AutoCAD ビューポートで3D断面...
-
autoCADのレイヤーと表示順序
-
InDesign CS4
-
DWG図面をエクセルに貼り付け、...
-
イラストレーターからパワーポ...
-
AUTO CAD LT2000の画層フィルタ...
-
画層フィルタの削除方法
-
CAD 「コントロールバー」の『...
-
CADの図面練習がしたいので...
-
AutoCAD 2010 画層プロパティ管...
-
動きがカクカクします
おすすめ情報