サポートが必要な場合は、Autodesk Assistant にお問い合わせください!
Assistant が回答を見つけたり、担当者に連絡するお手伝いをします。
オートデスクではどのようなサポートが提供されますか?
ご利用可能なサポートの種類は、サブスクリプションのプランによって異なります。現在のプランでご利用可能なサポート レベルをご確認ください。
Autodesk Support
2017年3月30日
AutoCADの VBA や .Net カスタムコマンドの COM/ActiveX 利用で、 AcadLayout.CanonicalMediaNameプロパティにセットするプロットの「用紙サイズ」文字列に、「印刷ダイアログ」の「用紙サイズ」プルダウンリストの文字列を与えてもエラーになります。
どのような文字列セットすれば良いですか?
また、確認する方法はありますか?
Solution
AcadLayout.CanonicalMediaNameプロパティにセットする文字列は、日本語表記(GetLocaleMediaNameより取得された文字)ではなく、英語表記(mediaNamesより取得される文字)をセットする必要があります。
'********************************************
' レイアウトの作成と印刷デバイスのセット
'********************************************
Public Function PlotSet()
With ThisDrawing.ActiveLayout ' 現在のレイアウト
.RefreshPlotDeviceInfo ' 出力デバイス情報のリフレッシュ
.ConfigName = "DWG To PDF.pc3" ' 印刷デバイス
.CanonicalMediaName = "ISO_A0_(841.00_x_1189.00_MM)" '用紙サイズ
.PlotRotation = ac0degrees ' 用紙方向(横)プロット回転角度
.PlotType = acExtents ' 印刷領域(オブジェクト範囲)
.StandardScale = ac1_1 ' 印刷尺度(1:1)
'''' .StandardScale = acVpScaleToFit '印刷尺度(尺度自動調整 )
.PaperUnits = acMillimeters
.CenterPlot = True ' 用紙の中央に印刷
End With
End Function
英語表記(mediaNamesより取得される文字)は、以下のコードで確認できます。
< VBA Code Begin >
Public Sub PaperSetName()
Dim AcadDoc As AcadDocument
Set AcadDoc = ThisDrawing
AcadDoc.ActiveLayout.RefreshPlotDeviceInfo
Dim mediaNames As Variant
mediaNames = AcadDoc.ActiveLayout.GetCanonicalMediaNames()
For x = LBound(mediaNames) To UBound(mediaNames)
Debug.Print "mediaNames : " & mediaNames(x) & vbCr _
& "LocalName : " & AcadDoc.ActiveLayout. _
GetLocaleMediaName(mediaNames(x))
Next
End Sub
< VBA Code End >
By Shigekazu Saitou
この情報は役に立ちましたか?
Assistant が回答を見つけたり、担当者に連絡するお手伝いをします。
オートデスクではどのようなサポートが提供されますか?
ご利用可能なサポートの種類は、サブスクリプションのプランによって異なります。現在のプランでご利用可能なサポート レベルをご確認ください。
プライバシー | Cookie の基本設定 | 不正コピーの報告 | 使用規約 | 法律情報(英語) | 特定商取引法に基づく表示 | © 2025 Autodesk Inc. All rights reserved