Autohotkey 将HTM文件的内容复制到剪贴板
我有一个本地保存的文本htm文件,我想使用Autohotkey 将HTM文件的内容复制到剪贴板,autohotkey,Autohotkey,我有一个本地保存的文本htm文件,我想使用自动热键脚本将其内容复制到剪贴板。我试过: FileRead, Clipboard, *c C:\Users\%A_UserName%\AppData\Local\Temp\file.htm 及 但他们两人都没有成功。 我能想到的唯一解决方法是使用以下方法在浏览器中打开htm文件: Run, C:\Users\%A_UserName%\AppData\Local\Temp\file.htm 还有Ctrl+A和next Ctrl+C,但这并不理想。你绝
自动热键
脚本将其内容复制到剪贴板。我试过:
FileRead, Clipboard, *c C:\Users\%A_UserName%\AppData\Local\Temp\file.htm
及
但他们两人都没有成功。
我能想到的唯一解决方法是使用以下方法在浏览器中打开htm文件:
Run, C:\Users\%A_UserName%\AppData\Local\Temp\file.htm
还有Ctrl+A和next Ctrl+C,但这并不理想。你绝对确定路径正确吗?如果您这样做:
FileRead, Clipboard, C:\Users\%A_UserName%\AppData\Local\Temp\file.htm
MsgBox %ErrorLevel%
MsgBox怎么说?“如果加载成功,ErrorLevel设置为0。如果出现以下问题,例如:1)文件不存在;2)文件被锁定或不可访问;3)系统内存不足,无法加载文件,ErrorLevel设置为1。来源:
您安装了哪个版本的自动热键?如果您使用的是非常旧的版本,那么读取Unicode(utf-8)文件可能会有困难(不确定)。
如果可能,请确保下载并安装最新版本
FileRead应该可以正常工作。但它会将HTML代码的内容读取到剪贴板。如果需要HTML文件的格式化文本,例如段落、粗体、斜体、列表、表格等,则需要使用WinClip()库的不同技术
注意:我在自己的程序中使用相同的技术。为什么选择
*c
选项<代码>文件读取,剪贴板,C:\Users\%A\u UserName%\AppData\Local\Temp\file.htm应该对您很好。@Bob Nope<代码>剪贴板仍为空。我的机器出毛病了吗?上面的代码行在您的机器上工作吗?i、 它会把htm文件的内容发送到剪贴板吗?我不知道你的机器是否出了问题。对我来说,即使是超过10MB的大文件,它也能工作。不知道为什么会有帮助,但您是否尝试过使用FileRead
保存到其他变量,然后使用clipboard:=var
?您还可以尝试clipboard:=RegexReplace(var,“\0”,“+”)
来替换空字符。谁知道呢。谢谢@lintalist。不幸的是,由于我不再在我需要此代码的办公室工作,此线程现在已经死亡。因此,我无意检验你的建议。但我再次衷心感谢你的时间和努力。
FileRead, Clipboard, C:\Users\%A_UserName%\AppData\Local\Temp\file.htm
MsgBox %ErrorLevel%
#Include WinClipAPI.ahk
#Include WinClip.ahk
wc := new WinClip
WinClip.Clear()
FileRead, html, C:\Users\%A_UserName%\AppData\Local\Temp\file.htm
WinClip.SetHTML(html)
WinClip.Paste()