ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2187|回复: 7

[求助]请教守柔版主一个有关宏的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-12-7 10:29 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

7d1baMxn.rar (421 Bytes, 下载次数: 19)


守柔老师:

你好,现有一个非常难解的问题要再次麻烦您!

我想将此文件中的第二列图片以第一列的代码命名另存到我的电脑中,也不知用什么方法可以操作,最后我将其用FRONTPAGE打开,但是不知用宏命令怎么编写?或者有什么更好的方法,敬请守柔老师指点迷津!

TA的精华主题

TA的得分主题

发表于 2005-12-7 11:04 | 显示全部楼层

以WORD方式打开该文件,粘贴以下代码:

Private Declare Function OpenClipboard Lib "User32" (ByVal hWnd As Long) As Long
Private Declare Function CloseClipboard Lib "User32" () As Long
Private Declare Function GetClipboardData Lib "User32" (ByVal uFormat As Long) As Long
Private Declare Function CopyEnhMetaFileA Lib "Gdi32" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Private Declare Function DeleteEnhMetaFile Lib "Gdi32" (ByVal hdc As Long) As Long
Public Sub SavePic()
Dim myPath As String, myTable As Table, strName As String
Dim i As Cell, myRange As Range
myPath = "D:\" '修改你的代码
Application.ScreenUpdating = False
With ActiveDocument
Set myTable = .Tables(1)
For Each i In myTable.Range.Cells
Set myRange = .Range(i.Range.Start, i.Range.End - 1)
If i.Range.InlineShapes.Count = 1 Then
Set myRange = .Range(i.Previous.Range.Start, i.Previous.Range.End - 1)
If myRange = "" Then
strName = Timer
Else
strName = myRange
End If
i.Range.InlineShapes(1).Range.Copy
OpenClipboard 0
DeleteEnhMetaFile CopyEnhMetaFileA(GetClipboardData(14), myPath & strName & ".JPG")
CloseClipboard
End If
Next
End With
Application.ScreenUpdating = True
End Sub
'----------------------

相关链接:http://club.excelhome.net/dispbbs.asp?boardid=23&replyid=425569&id=80674&page=1&skin=0&Star=5

[此贴子已经被作者于2005-12-7 11:06:41编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-7 11:20 | 显示全部楼层

非常感谢守柔老师

非常感谢守柔老师:

我还以为以前我的想法是异想天开的,没想到再难的问题在守柔老师这里也有解决的办法。不过我在粘贴到WORD里运行时又出现了一个问题。不知是否和OFFICE的版本有关,还是我将代码粘错了地方,我的版本是2000的,再次烦请守柔老师!


[求助]请教守柔版主一个有关宏的问题

[求助]请教守柔版主一个有关宏的问题

TA的精华主题

TA的得分主题

发表于 2005-12-7 11:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

把你第一句SUB MACRO1 和最后一句END SUB 删除即可。

发蓝部分是API声明。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-7 11:30 | 显示全部楼层

真是太神啦

您是阿的再生父母呀,非常感谢您!您以前给俺的代码帮助省了俺一个月的工作量,这次又会节省好多的时间呀,又不会有那么辛苦,真不知该怎么报答您才好!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-12-7 11:37 | 显示全部楼层

生成的文件用PHOTOSHOP怎么打不开呢?

守柔老师:

生成的文件有3千多K呀,我要用PHOTOSHOP压缩一下,但是好象打不开呀,或者用WORD代码生成文件的时候可不可以限制一下文件大小呢?

TA的精华主题

TA的得分主题

发表于 2005-12-7 21:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用守柔在2005-12-7 11:04:29的发言:

相关链接:http://club.excelhome.net/dispbbs.asp?boardid=23&replyid=425569&id=80674&page=1&skin=0&Star=5


学习!

另外您链接中的代码为何老是有可能出错,我知道是什么原因了,我已经在该贴后面回复了,不知道是否可行?

TA的精华主题

TA的得分主题

发表于 2005-12-8 06:18 | 显示全部楼层
以下是引用gues1688在2005-12-7 21:24:25的发言:

学习!

另外您链接中的代码为何老是有可能出错,我知道是什么原因了,我已经在该贴后面回复了,不知道是否可行?

谢谢gues1688。

你所说的这个问题,是存在的,因机器配制不同,有个时间差,SHELL的异步执行的理解也是正确的。

现在的问题是:

不同的操作系统,可能会有截然不同的结果,主要就是出错!

对于图片大小的问题,我目前用了几种方法,效果不佳,如果我有时间,我会继续解决此问题。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 01:32 , Processed in 0.043346 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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