shamoji
Full メンバー
オフライン
投稿: 45
I'm a llama!
|
|
マクロについて
« 投稿日: 2009/12/07 - 17:55:31 » |
|
始めまして、いつも拝見しております。 まだまだ初心者なのですが、 このたび選択図面(slddrw)を連続でDXF変換するマクロを組もうとおもうのですが、ファイルを開くことが出来ません。 画面に図面ファイルが、表示されて、エラーで止まってしまいます。
retVal = swApp.OpenDoc6(SaveFolder + fname, swDocDRAWING, swOpenDocOptions_Silent, " ", OError, OWarning)
デバッグ画面にすると、↑に問題があるようなのですが分かりません。
何方か分かる方がおりましたらご回答宜しくお願いします。
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:マクロについて
« 返信 #1 投稿日: 2009/12/07 - 18:30:50 » |
|
書かれている処理は、保存処理の部分ですか?
DXFなど中間フォーマットへの保存は、 ModelDocExtension::SaveAs で可能ですよ
Set swModelDocExt = swModel.Extension '開いている図面ファイルからModelDocExtension 取得 bRet = swModelDocExt.SaveAs(SaveFolder + fname, 0, 0, nothing, OError, OWarning) '保存
と言った感じです
|
|
|
|
hisa
カタマリの王様!?
オフライン
投稿: 507
PANDA-Z!!
|
|
Re:マクロについて
« 返信 #2 投稿日: 2009/12/07 - 18:36:04 » |
|
そういえば、SolidWorksタスクスケジューラを使えば、フォルダ指定で図面をDXFに一括出力も出来ますよ
マクロ上で何かを処理してからDXFに書き出すのであればダメですけど
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:マクロについて
« 返信 #3 投稿日: 2009/12/07 - 18:43:12 » |
|
shamojiさん、初めまして。
>retVal = swApp.OpenDoc6(SaveFolder + fname, swDocDRAWING, swOpenDocOptions_Silent, " ", OError, OWarning) たぶん、コンフィギュレーション指定の部分にスペースが入っているからではないでしょうか? (" " ではなく "" が正しいと思います。)
これ以外に考えられそうな事として、
・「SaveFolder + fname」で正しいファイルパスになっている? たとえば、 SaveFolder="C:\TestFolder" fname= "Test.slddrw" となっていた場合に 「SaveFolder + fname」は"C:\TestFolderTest.slddrw"となってしまうので、 間に"\"を入れる必要があります。
・「OErrorやOWarning」はLong型? 「O」が頭についているので気になってのですが、もしかしてVariant型ですか? SolidWorksのマクロで使用する場合はLong型の変数でいいと思います。
今のところ思いつくところはこんな感じです。
|
|
|
|
shamoji
Full メンバー
オフライン
投稿: 45
I'm a llama!
|
|
Re:マクロについて
« 返信 #4 投稿日: 2009/12/08 - 17:40:27 » |
|
皆さん、ご回答有難うございました。
お蔭様で問題を解決できました。
また、別の問題が出てしまいました。
よろしければご回答お願いします。
内容としましては、 選択ファイルを連続印刷したいのですが、 異なるプリンタから印刷する図面を選択してしまうと全て同じプリンタから出力されてしまいます。 図面には、個々で使用するプリンタは設定してあるのですが、その設定を呼び出す方法等ありましたらお教えください。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:マクロについて
« 返信 #5 投稿日: 2009/12/08 - 19:15:52 » |
|
PageSetup::PrinterPaperSource で出来ないでしょうか? 試したわけではないので正しく動くかわかりませんが・・・
|
|
|
|
shamoji
Full メンバー
オフライン
投稿: 45
I'm a llama!
|
|
Re:マクロについて
« 返信 #6 投稿日: 2009/12/09 - 12:28:22 » |
|
makoron様 返信有難うございます。
PageSetup::PrinterPaperSource に付いて調べてみたのですが、使い方が良く分かりませんでした。 どの様に使用すればよろしいでしょうか?
また、swModel.PrintDirectで印刷しているのですが、その設定は有効になるのでしょうか。
マクロを、添付したら内容を見ていただけますか?
|
|
|
|
shamoji
Full メンバー
オフライン
投稿: 45
I'm a llama!
|
|
Re:マクロについて
« 返信 #7 投稿日: 2009/12/09 - 13:54:36 » |
|
皆様有難うございました。問題解決しました。
原因は、先日弊社のプリンタを入れ替えてから、図枠データを修正していなかったために、選択プリンタが空欄になっておりました。 そのため、勝手に他のプリンタが選択されておりました。
すみませんでした。
また、現在製作中のマクロで、フォルダ参照機能を使ってデスクトップを選択するとエラーになってしまうのですが、なにか良い解決方法はありませんか? 参考にマクロを添付いたします。 (以前hisa様がUPしていました{Dxf2Part.swp}を参考にさせていただいてます。)
ご回答宜しくお願いします。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:マクロについて
« 返信 #8 投稿日: 2009/12/09 - 17:10:15 » |
|
見てみました
Sub browseFolder() の中にある oFolder.Items.Item.path を oFolder.Self.path に書き換えたらうまく動きました。 (正常に動作するか自身はないですが・・・)
|
|
|
|
shamoji
Full メンバー
オフライン
投稿: 45
I'm a llama!
|
|
Re:マクロについて
« 返信 #9 投稿日: 2009/12/09 - 17:36:14 » |
|
makoron様、有難うございます。
早速レスの通り書き換えて試してみましたが、正常に動作いたしました。
有難うございました。
これで、今まで煩わしかった作業が簡単に出来るようになりました。
|
|
|
|