Random Thoughts |
Save time... see it my way.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 19:52:45 |
|
|
|
著者
|
トピック: 新規ドキュメントを複数、取得するには? (閲覧数 1428 回) |
|
magu
Sr. メンバー
オフライン
投稿: 57
I'm a llama!
|
|
新規ドキュメントを複数、取得するには?
« 投稿日: 2005/12/12 - 13:14:23 » |
|
SolidWorks内に開いている複数の新規ドキュメントをマクロでPartDocとして、取得したいのですが、どのように記述すればよろしいでしょうか?
アクティブの新規ドキュメントはActiveDoc関数で取得できますが、アクティブではないウィンドウの取得方法が分かりません。
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:新規ドキュメントを複数、取得するには?
« 返信 #1 投稿日: 2005/12/12 - 14:27:15 » |
|
新規Partドキュメントだけの取得ということでしたら、 以下の方法が考えられます。
(1) SldWorks.GetFirstDocumentにて現在のセッションで 開いている初めのドキュメント(ModelDoc2)を取得。
(2) ModelDoc2.GetPathNameにて、戻り値が空の文字列で あれば未保存(新規)のドキュメント。
(3) 取得したドキュメントがPartDocであれば、PartDoc取得。
(4) ModelDoc2.GetNextで次のドキュメントを取得し、手順(2)へ。
開いているドキュメントの巡回は、SldWorks.GetFirstDocument 及びModelDoc2.GetNextのサンプルとしてヘルプ内に記述されて います。
ドキュメントの取得に関する命令は、ヘルプ内でSldWorks・ModelDoc2 及びSelectionManagerオブジェクトなどを辿ってみれば大体見付かるのでは ないかと思います。 また、ヘルプ内に記載されているオブジェクトの取得は、該当オブジェクトの ページ上部右側にある『継承取得メソッド』を選択すると使用するメソッドや 上位オブジェクトの説明が記載されているので参考にしてみると良いでしょう。
|
|
|
|
magu
Sr. メンバー
オフライン
投稿: 57
I'm a llama!
|
|
Re:新規ドキュメントを複数、取得するには?
« 返信 #2 投稿日: 2005/12/15 - 14:00:04 » |
|
hisaさん、ありがとうございました。 出来ました。 今回は新規ドキュメントの確認は必要ありませんでした。 すみません・・・・・・分かりやすいように伝えたかっただけだったので・・・・・・
ソースはこのような感じに組みました。 Dim swApp As SldWorks.SldWorks Dim ModelDoc As SldWorks.ModelDoc2 Dim PartDoc As SldWorks.PartDoc Dim Check As Boolean
Set swApp = Application.SldWorks
Check = True Do If Check Then Set ModelDoc = swApp.GetFirstDocument Check = False Else Set ModelDoc = ModelDoc.GetNext End If If ModelDoc Is Nothing Then Exit Do End If If ModelDoc.GetType = 1 Then Set PartDoc = ModelDoc MsgBox ("現在のパス:" & ModelDoc.GetPathName) End If Loop
|
|
|
|
|
|
|
|