Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba getdevicecaps函数的第二个参数的值是多少?_Vba_Excel_Excel 2007_Excel 2010 - Fatal编程技术网

Vba getdevicecaps函数的第二个参数的值是多少?

Vba getdevicecaps函数的第二个参数的值是多少?,vba,excel,excel-2007,excel-2010,Vba,Excel,Excel 2007,Excel 2010,我正在尝试获取活动打印机的物理页边距。但我不确定应该为GetDeviceCaps函数的第二个参数提供什么值。有人能告诉我HORZSIZE和VERTSIZE的值是多少,我可以设置它们来获得实际的打印机值 若我使用0作为第二个参数的值,我得到的getX和getY值为1024。谁能帮帮我吗 注意:DefaultPrinterInfo是一个用户定义的函数,用于获取drivername和printername Sub GetDevCaps() Dim str() As String Dim

我正在尝试获取活动打印机的物理页边距。但我不确定应该为GetDeviceCaps函数的第二个参数提供什么值。有人能告诉我HORZSIZE和VERTSIZE的值是多少,我可以设置它们来获得实际的打印机值

若我使用0作为第二个参数的值,我得到的getX和getY值为1024。谁能帮帮我吗

注意:DefaultPrinterInfo是一个用户定义的函数,用于获取drivername和printername

Sub GetDevCaps()
    Dim str() As String
    Dim hdc As Long, delHdc As Long
    Dim getX As Long, getY As Long
    str = DefaultPrinterInfo
    hdc = CreateDC(str(1), str(0), 0, 0)
    getX = GetDeviceCaps(hdc, ?)
    getY = GetDeviceCaps(hdc, ?)
    delHdc = DeleteDC(hdc)<br>
End Sub
Sub-GetDevCaps()
Dim str()作为字符串
Dim hdc为长,delHdc为长
变暗和变长,变长和变长
str=DefaultPrinterInfo
hdc=CreateDC(str(1),str(0),0,0)
getX=GetDeviceCaps(hdc,?)
getY=GetDeviceCaps(hdc,?)
delHdc=DeleteDC(hdc)
端接头
第二个参数表示要检索的信息。您可以在本文中找到常数和解释

您一直要求的常数:

Global Const HORZSIZE = 4
Global Const VERTSIZE = 6

非常感谢您的快速回复。我这里没有什么问题。。为什么是4和6,它的实际含义是什么?当我用4和6替换时,我得到getX=198和getY=287。这些值以像素为单位。我想把这些转换成mm。再次感谢。RamanaThe下面的文章可能会给你额外的帮助:我知道这些值是以像素为单位的。如果需要英寸,请查看LOGPIXELSX=88和LOGPIXELSY=90