コミュニティ
AutoCAD - 日本語
製品テクニックや情報を共有、質問、解答したり、情報を検索など使い方は様々です。お役立てください。
キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

VBAを用いて印刷のページ設定を<なし>にしたい

4件の返信4
解決済み
返信
メッセージ1/5
R__Satoh
460 件の閲覧回数, 4 件の返信

VBAを用いて印刷のページ設定を<なし>にしたい

_plotの印刷画面ではページ設定が選択でき、<なし>という項目が選択できます。

VBAで同様に印刷時のページ設定を<なし>に設定したいです。

 

例えば、

Set PlotSetting = PlotConfigs("A3")

とすれば、既に存在する「A3」というページ設定がセットされます。

ページ設定<なし>を選択したい場合、どのように記述すればよいかご教示お願い致します。

 

使用バージョンはAutoCAD Mechanical 2025です。

 

参考:

https://forums.autodesk.com/t5/autocad-ri-ben-yu/auj-zhi-wen-fan-hao003-yi-kuoshite-ren-yinopeji-she...

4件の返信4
メッセージ2/5
kazk.o
次のアカウントへの返信: R__Satoh

VBAでプロットのページ設定を”なし”にする方法はなかったように思います。

(搦手を使えばできるかもしれませんが・・・)


行いたいことがちょっとあいまいなので整理させて頂きたいのですが
印刷をする際に単純にプロットのページ設定の名前を”なし”にしたいのか印刷せずに現在のページ設定の名前を”なし”にしたいのか
例として提示されたページの内容のようにレイアウト空間の設定を一括で”なし”にしたいのかいずれの作業を行いたいのか少々曖昧だったのでその辺り明確にして頂ければ助かります。
また上記のうち印刷をする際に単純にプロットのページ設定の名前を”なし”にしたいのか印刷せずに現在のページ設定の名前を”なし”にしたいのであればVBAを使う方法を模索するよりPLOTコマンドをコマンドラインバージョンで実行(ハイフンをつけて「-plot」)で印刷スタイル テーブル名を入力の際に”.”で”なし”に出来ますので
-plotから始まるマクロを組んでしまった方が楽かと思います。

 

//24/07/09:一部実行したいことへの手法が間違っていた部分を取り消し線を入れました。この方法ではページ設定は無しに出来ません、失礼しました

kazk.o

EESignature

メッセージ3/5
R__Satoh
次のアカウントへの返信: kazk.o

返信いただきありがとうございます、情報不足しており申し訳ございませんでした。

 

【やりたいこと、質問した経緯】

案件毎にフォルダが存在し、フォルダの中にdwgデータが50枚ほど入っています。

dwgデータの用紙サイズ(A1A4)と尺度(100:11:100)は様々で、ページ設定は正しく設定されていないものがあり、そのまま印刷すると正しく図枠内が印刷されません。

また、dwgデータには[AMTITLE]コマンドによって作成された表題欄が必ず1つだけ存在し、表題欄には正確な用紙サイズと尺度が自動で記載されています。

このデータ群を[PUBLISH]コマンドを用いて一括で印刷するとき、すべてのデータを正しい用紙サイズと尺度で印刷したいです。

 

そこで、

①フォルダを指定

②指定したフォルダ内にあるdwgデータを1つ開く

③そのdwgデータ内の表題欄の用紙サイズと尺度の情報を読み取る

④読み取った用紙サイズと尺度の情報をもとに印刷デバイス、用紙サイズ、尺度を現在のレイアウトに書き込み

dwgデータを閉じる

⑥手順25をフォルダのdwgデータの数分繰り返す

というVBAマクロを組んで動かしてみました。

 

この処理をしたデータを開いて[PLOT]コマンドで1枚だけ印刷する際は問題なく印刷できるようになりました。

しかし、[PUBLISH]コマンドを用いて一括で印刷しようとすると、うまくいきませんでした。

原因を調査したところ、下記の事項が判明しました。

 

元となるデータにはページ設定が正しく設定されていないものがあります。

例えば、用紙サイズA3、尺度1:2なのに、A4、尺度1:1のページ設定が設定されているデータが存在します。

このデータを[PLOT]で印刷した場合、設定した正しい用紙サイズと尺度の値(A31:2)が優先されるようですが、[PUBLISH]で印刷した場合はページ設定で設定済みの誤った値(A41:1)が優先されるようです。

また、ページ設定が[なし]のものは、[PUBLISH]で正しく印刷されることが分かりました。

 

この問題を解決するためには、

  1. VBAで用紙サイズ、尺度を書き込む際に何らかの方法でページ設定を[なし]にする
  2. VBAで用紙サイズ、尺度を書き込む際に何らかの方法で新しい名前のページ設定を作る
  3. 用紙サイズ4種類×尺度約40種類=160種類全てのページ設定を作っておき、VBAから設定する(非常にパワープレイであまりやりたくありませんが…)

のいずれかの対処が必要と考え、1.VBAからページ設定を[なし]にする方法をお伺いした次第です。

 

長文失礼いたしました。

以上、ご確認よろしくお願い致します。

メッセージ4/5
kazk.o
次のアカウントへの返信: R__Satoh

パブリッシュで正常な出力が出来ないのはVBAで書き換えた設定はページ設定には反映されずパブリッシュがページ設定を優先して読んでしまうからその部分で齟齬が出るからですね・・・
前述のとおりVBAで”無し”にするのは難しいので
パブリッシュを実行する際に読み込んだファイルリストを全選択(マウスドラッグで囲むかctrl+a)で全選択したままページ設定「規定なし」で指定して一括で無しにしてしまえば一応正常な出力は出来るのかな?と思いますが・・・

(一括で設定を更新する場合リストの最初にあるものしか利用できないので先頭にページ設定なしのファイルがあることが条件になります)

とりあえずそちらの方試してみてはどうでしょうか?

(添付動画参考)

kazk.o

EESignature

メッセージ5/5
R__Satoh
次のアカウントへの返信: kazk.o

ありがとうございます、この方法で解決しました。

お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。

フォーラムに投稿  

State of Design & Make 2024

EE RESOURCES