ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 关于vba批量添加水印,修改代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-27 19:57 | 显示全部楼层
用WSHShell 自动获取桌面路径,你再试试看

添加水印并覆盖原文件.rar (18.52 KB, 下载次数: 37)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-27 21:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lizhipei78 发表于 2024-9-27 19:57
用WSHShell 自动获取桌面路径,你再试试看

万分感谢,已经没问题了

TA的精华主题

TA的得分主题

发表于 2024-9-27 21:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
icenotcool 发表于 2024-9-27 17:24
各位老师,可以看看我的贴吗?该怎么修改,
Sub Total()
    Set d = CreateObject("scripting.dictionar ...

你这个要怎么改?需求是什么,有附件吗?

TA的精华主题

TA的得分主题

发表于 2024-9-27 22:25 | 显示全部楼层
本帖最后由 icenotcool 于 2024-9-27 22:32 编辑
lizhipei78 发表于 2024-9-27 21:56
你这个要怎么改?需求是什么,有附件吗?

有附件的,老师,这个是我的帖子,麻烦您啦,【新提醒】跨表提取不重复数据并按条件汇总(去重求和)-Excel VBA程序开发-ExcelHome技术论坛 -  https://club.excelhome.net/thread-1702629-1-1.html

示例.zip

57.65 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2024-9-28 09:35 | 显示全部楼层
使用FSO重新一个,不用创建临时文件夹,可能快一点点

微信截图_20240928093406.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-28 22:03 | 显示全部楼层
lizhipei78 发表于 2024-9-28 09:35
使用FSO重新一个,不用创建临时文件夹,可能快一点点

你好,运行后,相册图片不见了,没看到添加水印后的图片,不知道是哪里的问题帮我看看,谢谢


Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim tm As Double
tm = Timer
Dim WSHShell As Object
Set WSHShell = CreateObject("wscript.shell")
Dim deskPath As String
deskPath = WSHShell.SpecialFolders("Desktop") '也可以自己设置桌面路径
Dim FSO As Object
Set FSO = CreateObject("scripting.Filesystemobject")
Dim p As String, p1 As String
p = deskPath & "\相册" '图片所在位置
p1 = deskPath '水印位置
Dim f As Object
For Each f In FSO.GetFolder(p).Files
    On Error Resume Next '避免加载不是图片的错误
    Dim strPath As String
    strPath = f.Path
    Dim 图 As Object, 水印 As Object
    Set 图 = CreateObject("WIA.ImageFile")
    Set 水印 = CreateObject("WIA.ImageFile")
    图.LoadFile strPath
    水印.LoadFile p1 & "\水印.png"
    Dim 合成图 As Object
    Set 合成图 = CreateObject("WIA.ImageProcess")
    合成图.Filters.Add 合成图.FilterInfos("stamp").FilterID
    Set 合成图.Filters(1).Properties("ImageFile") = 水印
    合成图.Filters(1).Properties("Left") = 图.Width - 水印.Width
    合成图.Filters(1).Properties("Top") = 水印.Height
    Dim 新图 As Object
    Set 新图 = 合成图.Apply(图)
    FSO.deletefile strPath, True
    新图.SaveFile strPath
Next
MsgBox "完毕,共用时:  " & Format(Timer - tm, "0.000秒"), , "提示"
Application.ScreenUpdating = True
Application.DisplayAlerts = True

TA的精华主题

TA的得分主题

发表于 2025-3-19 10:56 | 显示全部楼层
zhu086 发表于 2024-9-28 22:03
你好,运行后,相册图片不见了,没看到添加水印后的图片,不知道是哪里的问题帮我看看,谢谢
  1. Sub ImageProcessAddWatermarkToJPG()
  2.      Dim Fd As FileDialog
  3.      Dim FilePath As String
  4.      Dim WatermarkText As String
  5.      Dim objShell As Object
  6.      Dim objExec As Object
  7.      Dim command As String
  8.      FilePath = "C:\2025年3月珠海\2025年3月17日翠景路(三台石-红山路)\Marki_20250317_085530625.jpg"
  9.      
  10.      ' 设置水印文字
  11.     WatermarkText = "水印内容"
  12.     ''
  13.     Dim Fso As Scripting.FileSystemObject
  14.         Set Fso = New Scripting.FileSystemObject
  15.     Dim oFile As File
  16.         Set oFile = Fso.GetFile(FilePath)
  17.         Debug.Print oFile.Name
  18.     Dim Img As WIA.ImageFile, ImgPro As WIA.ImageProcess
  19.         Set Img = New WIA.ImageFile
  20.         Set ImgPro = New WIA.ImageProcess
  21.         Img.LoadFile oFile.Path
  22.         
  23.         ImgPro.Filters.Add ImgPro.FilterInfos("Stamp").FilterID
  24.         'Set ImgPro.Filters(1).Properties("ImageFile") = Img
  25.         
  26.         With ImgPro.Filters(1)
  27.             Set .Properties("ImageFile") = Img
  28.             .Properties("Left") = 100
  29.             .Properties("Top") = 10
  30.         End With
  31.    Dim NewImg As WIA.ImageFile
  32.        Set NewImg = ImgPro.Apply(Img)
  33.        NewImg.SaveFile "C:\1.jpg"

  34.         
  35. End Sub



复制代码



程序调试通过,但找不到水印。



WIA不知道用什么语句,添加水印。.zip

16.7 KB, 下载次数: 2

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

本版积分规则

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

GMT+8, 2025-12-15 03:19 , Processed in 1.023999 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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