ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

求助,怎么批量把一个文件下的多个EXCEL文件中的照片提取出来,以文件名命名

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-24 11:23 | 显示全部楼层
wanghan519 发表于 2023-3-24 06:06
另存成html,删除不要的文件,图片改名
发现了一个问题,另存为html后,所有图片都多了一个缩略图,而另存 ...

所在位置 行:1 字符: 54
+ 获取子项 *.xls* |% {$n=$_.BaseName;$wb=$xl.Workbooks.Open($_.全名);$wb.Save ...
+                                                      ~~~~~~~
表达式或语句中包含意外的标记“($_.全名)”。
所在位置 行:1 字符: 72
+ ... b=$xl.Workbooks.Open($_.全名);$wb.SaveAs(($_.FullName+“.html”), 44);$wb ...
+                                           ~~~~~~~~~~~~~~~~~~~~~~~
表达式或语句中包含意外的标记“(($_.FullName+“.html”),”。
所在位置 行:1 字符: 106
+ ... ks.Open($_.全名);$wb.SaveAs(($_.FullName+“.html”), 44);$wb.关闭();删除项目 ($ ...
+                                                                ~~
表达式或语句中包含意外的标记“()”。
所在位置 行:1 字符: 154
+ ... ), 44);$wb.关闭();删除项目 ($_.全名+“.html”);获取子项($_。全名+“.文件”) |% {if ($_.Bas ...
+                                                                  ~
if 语句中的“if”后面缺少“(”。
所在位置 行:1 字符: 227
+ ...  -match '^image') {$_ |重命名项目 -新名称 {$_.Name -replace '^image', $n}} el ...
+                                                                 ~
表达式或语句中包含意外的标记“,”。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

TA的精华主题

TA的得分主题

发表于 2023-3-24 12:25 来自手机 | 显示全部楼层
怎么会粘贴出中文?
要不就用3楼的代码,打开你的xls,打开开发工具,visualbasic,插入,模块,粘贴代码,就可以用宏了

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-24 14:42 | 显示全部楼层
wanghan519 发表于 2023-3-24 12:25
怎么会粘贴出中文?
要不就用3楼的代码,打开你的xls,打开开发工具,visualbasic,插入,模块,粘贴代码 ...

Remove-Item : 找不到接受实际参数“$_.Name-replace '^image', $n”的位置形式参数。
所在位置 行:1 字符: 236
+ ... tch '^image') {$_ |Remove-Item {$_.Name-replace '^image', $n}} else { ...
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Remove-Item],ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-24 14:43 | 显示全部楼层
wanghan519 发表于 2023-3-24 12:25
怎么会粘贴出中文?
要不就用3楼的代码,打开你的xls,打开开发工具,visualbasic,插入,模块,粘贴代码 ...

目前就只有这个问题了,照片也能提取出来了

TA的精华主题

TA的得分主题

发表于 2023-3-24 17:19 来自手机 | 显示全部楼层
475012621 发表于 2023-3-24 14:43
目前就只有这个问题了,照片也能提取出来了

出错的地方应该是个rename-item而不是remove-item而且后面的-replace前面有个空格,其实直接复制代码,右键粘贴过去就行的
而且这种方式有点缺陷就是多了几张缩小的图片,当然可以通过分析html正确的重命名图片,也可以改成存为xlsx再解压的方式
总之如果你执着这种方法,就先看一下powershell的入门教程,代码很好懂的,就是:开一个Excel的com对象,把所有xls另存为html,然后删掉html,删掉files文件夹里不以image开头的文件,把image开头的文件重命名为xls文件的名字,最后关掉Excel,出错的就是重命名这一步写成删除了但还好没执行成功。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 16:17 , Processed in 0.029958 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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