iceberg2509 发表于 2006-7-24 12:18:00

vba如何获得当前打印设备的所有幅面列表?(已解决)

本帖最后由 作者 于 2006-7-24 16:36:03 编辑 <br /><br /> <TABLE cellSpacing=0 cellPadding=10 align=right border=0>
<TBODY>
<TR>
<TD><IFRAME marginWidth=0 marginHeight=0 src="/mcfile/google180.htm" frameBorder=0 width=180 scrolling=no height=150></IFRAME></TD></TR></TBODY></TABLE>
<P>比如说,当前打印机是adobe pdf,在“图纸尺寸”一栏内,可能有A3、A4等幅面可供选择,在vba中如何获取这个列表呢?</P>

iceberg2509 发表于 2006-7-24 16:33:00

<P>哈哈,我自己已经解决。</P>
<P>Sub GetLocaleMediaName()<BR>&nbsp;&nbsp;&nbsp; Dim Layout As ACADLayout<BR>&nbsp;&nbsp;&nbsp; Dim mediaNames As Variant<BR>&nbsp;&nbsp;&nbsp; Dim X As Integer<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; Set Layout = ThisDrawing.ModelSpace.Layout<BR>&nbsp;&nbsp;&nbsp; Layout.RefreshPlotDeviceInfo<BR>&nbsp;&nbsp;&nbsp; mediaNames = Layout.GetCanonicalMediaNames()<BR>&nbsp;&nbsp;&nbsp; For X = LBound(mediaNames) To UBound(mediaNames)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debug.Print Layout.GetLocaleMediaName(mediaNames(X))<BR>&nbsp;&nbsp;&nbsp; Next<BR>End Sub</P>

齐天大圣3386 发表于 2010-11-24 19:50:00

我现在也遇到这个问题了,但是,我想问,为什么打印机变了,而图纸幅面却不变
页: [1]
查看完整版本: vba如何获得当前打印设备的所有幅面列表?(已解决)