sayu
新人さん
オフライン
投稿: 10
I'm a llama!
|
|
用紙サイズについて
« 投稿日: 2011/02/23 - 10:01:52 » |
|
いつもお世話になっております。
出力時に用紙のサイズを変更して出力する方法を考えているのですがうまくいきません。 コードは以下のようになっています。
Dim swModel As Sldworks.ModelDoc2 Set swModel = swApp.ActiveDoc
Dim swPageSetup As PageSetup Set swPageSetup = swModel.PageSetup
swPagesetup.PrinterPaperSize = 300 swPagesetup.PrinterPaperwidth = 2970 swPagesetup.PrinterPaperLength = 5000
"swPagesetup.PrinterPaperSize = 300" の箇所で用紙サイズがユーザー定義サイズ1に 変更されて入るのですが、そのあとの幅と高さが変更できません。
分かる方がいらっしゃったら教えて下さい。 よろしくお願いします。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:用紙サイズについて
« 返信 #1 投稿日: 2011/02/23 - 12:50:56 » |
|
sayuさん、こんにちは。
実際にユーザー定義サイズを使ったことが無いので、正しいかはわかりませんが、 いろいろと試してみると、私のところでプリンターのユーザー定義用紙を指定するには swPagesetup.PrinterPaperSize = 256 でした。
印刷して試したわけではないのですが、 swPagesetup.PrinterPaperwidth = 2970 swPagesetup.PrinterPaperLength = 5000 の処理前と処理後に MsgBox ("W=" & swPageSetup.PrinterPaperWidth & "/L=" & swPageSetup.PrinterPaperLength) で確認すると、正しく変更されているところまでは確認できました。
断言はできないのですが、「swPagesetup.PrinterPaperSize = 256」で試してみてはいかがでしょうか。
|
|
|
|
sayu
新人さん
オフライン
投稿: 10
I'm a llama!
|
|
Re:用紙サイズについて
« 返信 #2 投稿日: 2011/02/23 - 13:49:53 » |
|
Makoronさん、返答ありがとうございます。
256でも試したのですがうまくいきませんでした。 プログラムの内部で持っている数値は変更されているのですが 実際にプレビューや手動で出力しようとするとユーザー定義1の初期設定の値が セットされたままの状態になっています。
ちなみにSolidWorksのバージョンは2008です。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:用紙サイズについて
« 返信 #3 投稿日: 2011/02/23 - 14:17:22 » |
|
引用:プログラムの内部で持っている数値は変更されているのですが 実際にプレビューや手動で出力しようとするとユーザー定義1の初期設定の値が セットされたままの状態になっています。 |
もしかしてSolidWorks側からは設定できないのかもしれません。
ユーザー設定の値が決まっているのであれば、Windows側でプリンタの設定でサイズを指定しておくと言う手が使えそう。
ころころと変わる用であれば、マクロ側で、Windowsのプリンター設定値を直接変更するしかないかもしれません。 (可能なのかの確認はしていませんが・・・。)
|
|
|
|
sayu
新人さん
オフライン
投稿: 10
I'm a llama!
|
|
Re:用紙サイズについて
« 返信 #4 投稿日: 2011/02/25 - 14:09:12 » |
|
Makoronさん
返信ありがとうございます。 色々と調べてみたのですが変更できるプリンタもあればできないプリンタもあるようで プリンタのドライバが関係しているようです。
ドライバまではよく分からないので用紙サイズの変更はあきらめます。 また何か分かりましたら連絡します。
ありがとうございました。
|
|
|
|