VBA读取图片属性信息(4/4)

13 篇文章 1 订阅
9 篇文章 1 订阅

对于BMP、JPG、GIF图片可以借助API读取其分辨率信息,示例图片的分辨率为141x119,如下图所示。
在这里插入图片描述
示例代码如下。

Private Declare Function GetObjectAPI Lib "gdi32" _
            Alias "GetObjectA" ( _
            ByVal hObject As Long, _
            ByVal nCount As Long, _
            lpObject As Any) As Long
Private Type BITMAP
    udtBitMapType   As Long
    udtBitMapWidth   As Long
    udtBitMapHeight   As Long
    udtBitMapWidthBytes   As Long
    udtBitMapPlanes   As Integer
    udtBitMapBitsPixel   As Integer
    udtBitMapBits   As Long
End Type
Sub GetBitMapDim()
    Dim udtBITMAP As BITMAP
    Dim objPicture As IPictureDisp
    Set objPicture = LoadPicture("C:\Temp\1.bmp")
    Call GetObjectAPI(objPicture, Len(udtBITMAP), udtBITMAP)
    With udtBITMAP
        Debug.Print "宽度:" & .udtBitMapWidth & "像素"
        Debug.Print "高度:" & .udtBitMapHeight & "像素"
	Set objPicture = Nothing
End Sub

运行代码结果如下。
在这里插入图片描述

【代码解析】
第1~5行代码声明API函数GetObjectAPI。
第6~14行代码声明数据结果用于获取位图信息。
第18行代码加载图片文件。
第19行代码调用API函数读取位图信息。
第21~22行代码在【立即窗口】输出分辨率信息。
第24行代码释放对象变量占用的系统资源。


相关文章链接:

VBA读取图片属性信息(1/4)

VBA读取图片属性信息(2/4)

VBA读取图片属性信息(3/4)

VBA读取图片属性信息(4/4)
加粗样式

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,要实现CAD VBA读取图元信息并输入到Excel表中,可以按照以下步骤进行: 1. 在CAD中打开Visual Basic Editor,创建一个新的模块。 2. 在模块中添加Excel对象库的引用,方法是选择“工具”菜单下的“引用”,然后勾选“Microsoft Excel XX.0 Object Library”。 3. 编写VBA代码,实现从CAD中读取图元信息并将其输入到Excel表中。以下是示例代码,可以根据实际需求进行修改: ``` Sub ExportToExcel() Dim objExcel As New Excel.Application Dim objWorkbook As Excel.Workbook Dim objWorksheet As Excel.Worksheet Dim objSelection As AcadSelectionSet Dim objEntity As AcadEntity '选择需要导出的图元 Set objSelection = ThisDrawing.SelectionSets.Add("MySelection") objSelection.Select acSelectionSetAll, , , Array() '创建Excel工作簿和工作表 Set objWorkbook = objExcel.Workbooks.Add Set objWorksheet = objWorkbook.Worksheets.Add '输入表头 objWorksheet.Cells(1, 1).Value = "图元类型" objWorksheet.Cells(1, 2).Value = "图元名称" objWorksheet.Cells(1, 3).Value = "图元颜色" '循环读取图元信息并输入到Excel表中 For Each objEntity In objSelection objWorksheet.Cells(objWorksheet.UsedRange.Rows.Count + 1, 1).Value = objEntity.ObjectName objWorksheet.Cells(objWorksheet.UsedRange.Rows.Count, 2).Value = objEntity.Name objWorksheet.Cells(objWorksheet.UsedRange.Rows.Count, 3).Value = objEntity.TrueColor.ColorIndex Next objEntity '保存Excel工作簿并退出 objWorkbook.SaveAs "C:\MyExcelFile.xlsx" objWorkbook.Close objExcel.Quit '清除选择集 objSelection.Delete End Sub ``` 以上代码实现了将CAD中选择的图元类型、名称和颜色信息导出到Excel表中,并保存为一个名为“MyExcelFile.xlsx”的Excel文件。您可以根据实际需求修改代码,比如更改导出的信息内容或者文件保存路径等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值