Autohotkey 将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,但这并不理想。你绝

我有一个本地保存的文本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:\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()库的不同技术

  • 从此处下载并解压缩WinClip()库
  • 创建一个新脚本,这将读取HTML文件并将格式化文本读取到内存中并粘贴它(在Office或其他接受格式化输入的程序中执行此操作):

  • 资料来源:


    注意:我在自己的程序中使用相同的技术。

    为什么选择
    *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()