设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: joyark
打印 上一主题 下一主题

超难度的批註图片导出

[复制链接]
11#
发表于 2011-9-30 21:17:05 | 只看该作者
pureshadow 发表于 2011-9-30 13:43
V白妖飘过~~~~

难度也没有大家所想像的那么大,不过也调试了我两小时左右(主要在于没有把默认隐藏的批注显示出来)。
Comment对象的Shape属性有个CopyPicture方法对付的就是joyark这种懒人的(详见附件)。{:soso_e128:}

复制出来的图片属于OLE对象,这里直接粘贴到其它活动单元格了。因此,如果joyark和我较真,非要导出到本地盘路径,或许真要像站长说的那样,要写API函数了(当然,一切需要进一步调试)。{:soso_e135:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

12#
发表于 2011-10-1 00:20:23 | 只看该作者
PICTURE OLE转文件, API应可实现的。 以前有写过 VB的PICTURE 转成文件。网上这方面的内容比较多。
看来程序就是这样,每人想一步。众人拾柴火焰高,每个人都有别人学习的地方。
13#
发表于 2011-10-10 17:34:34 | 只看该作者
由于HTML文件夹生成的image文件存在编号的规律,从001开始,所以可以通过循环单元格对image001进行根据单元格内容改名并移动到桌面
如果有10个批注有图片,其中1张照片重复,那么HTML文件夹里面只会有9张image,001到009,没办法解决
Sub Macro2()
    Dim i      As Integer
    Dim str    As String
    Dim oldname As String
    Dim newname As String
    Dim x      As String
    With ThisWorkbook
        For i = 1 To ActiveSheet.UsedRange.Rows.Count
            x = i * 10
            x = IIf(i < 100, Choose(Len(x), "", "00", "0") & i, i)    '生成html文件夹的图片命名是顺序是001,002...需要对序号进行转换
            oldname = .Path & "\" & Left(.Name, Len(.Name) - 4) & ".files\image" & x & ".jpg"    '测试方便,当前workbook为另存为html的文件,如果直接对xls文件进行操作,需要先另存.
            newname = .Path & "\" & Cells(i, 1) & ".jpg"    ''默认当前路径是桌面
            Debug.Print oldname, newname
            Name oldname As newname
        Next
    End With
End Sub
14#
发表于 2011-12-12 21:27:09 | 只看该作者
学习了      
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 06:18 , Processed in 0.262533 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表