- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
第一次发帖,网站的长期读者。我搜索了整个 Internet,找不到可行的解决方案,而且我尝试了很多重写,但无法修复它。
我为工作编写 HTA 文件。通常是部门特定的笔记工具,使他们的工作更轻松。除了复制/粘贴之外,我有我需要的一切工作。我从我编写的另一个工具复制了复制/粘贴部分并且它可以工作,但忽略了\r\n 并且我一直有问题所以我希望用更可靠的东西替换整个部分。所以我想如果我可以只写入一个文本文件,然后将该文本文件复制到剪贴板,那就完美了。因为这也会给他们“糟糕,我不是要清除该文本”选项,只需加载创建的文本文件以查看他们点击的内容。我还计划在清除按钮上实现相同的“oops”,这样它会写入文件,然后清除输入框以保持 oops 文件仍然存在。
快速回顾一下,Write 按钮工作完美,Clear 也可以(但需要写入 oops 文件),而 Copy 按钮需要完全重写。如果可能的话,我想保留所有 VBScript,因为我认为到目前为止我的问题源于两种代码类型以及我将旧代码复制/粘贴到新工具中。
要记住的一件事是我是自学成才的,只为工作制作这些。所以不要对我说 super 技术,我不会明白的。如果可能的话,请重写所需的部分,并让我知道代码中发生的原因和情况,以便我能够掌握这个概念,并能够在我学习和成长的过程中使用它/修改它。
代码如下:
<hta:application
icon="#"
border="thin"
borderStyle="static"
caption="yes"
innerBorder="no"
maximizeButton="no"
minimizeButton="yes"
navigable="no"
scroll="no"
scrollFlat="yes"
singleInstance="yes"
showInTaskbar="yes"
windowState="normal"
contextMenu="no"
version="1.0"
>
<!DOCTYPE html>
<HTML><HEAD><TITLE>Note Tool</TITLE>
<style type='text/css'>
</style>
</head>
<SCRIPT LANGUAGE="VBScript">
Function Writer_OnClick()
UserID = (Document.getElementByID("OB1").Value)
ContactName = (Document.getElementByID("OB2").Value)
ExternalNotes = (Document.getElementByID("OB3").Value)
InternalNotes = (Document.getElementByID("OB4").Value)
CSKBRef = (Document.getElementByID("OB5").Value)
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("html01.txt",1)
HTML01 = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("html02.txt",1)
HTML02 = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("html03.txt",1)
HTML03 = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("html04.txt",1)
HTML04 = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("html05.txt",1)
HTML05 = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing
Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile("poop.html",2,true)
objFileToWrite.WriteLine(HTML01)
objFileToWrite.WriteLine(UserID)
objFileToWrite.WriteLine "</li><li>Contacts: "
objFileToWrite.WriteLine(ContactName)
objFileToWrite.WriteLine(HTML02)
objFileToWrite.WriteLine(ExternalNotes)
objFileToWrite.WriteLine(HTML03)
objFileToWrite.WriteLine(InternalNotes)
objFileToWrite.WriteLine(HTML04)
objFileToWrite.WriteLine(CSKBRef)
objFileToWrite.WriteLine(HTML05)
objFileToWrite.Close
Set objFileToWrite = Nothing
End Function
</SCRIPT>
<script language="VBScript">
Sub ClearText
User.Value = ""
Contact.Value = ""
ExternalNotes.Value = ""
InternalNotes.Value = ""
CSKB.Value = ""
End Sub
</script>
<SCRIPT LANGUAGE="JavaScript">
function RestoreWindowSize()
{
window.resizeTo(750, 420);
}
</script>
<SCRIPT LANGUAGE="JavaScript">
var desc = new Array();
desc['OB1'] = 'User ID';
desc['OB2'] = 'Contact Name';
desc['OB3'] = 'External Notes';
desc['OB4'] = 'Internal Notes';
desc['OB5'] = 'CSKB Topic';
function CopyFields(){
var copytext = '';
for(var i = 0; i < arguments.length; i++){
copytext += desc[arguments[i]] + ': ' + document.getElementById(arguments[i]).value + '\r\n';
}
var tempstore = document.getElementById(arguments[0]).value;
document.getElementById(arguments[0]).value = copytext;
document.getElementById(arguments[0]).focus();
document.getElementById(arguments[0]).select();
document.execCommand('Copy');
document.getElementById(arguments[0]).value = tempstore;
}
</script>
<body onload="RestoreWindowSize()">
User ID: <input type="text" name="User" id="OB1"><br>
Contact Name: <input type="text" name="Contact" id="OB2"><br>
External Notes: <textarea rows="5" cols="68" type="text" name="ExternalNotes" id="OB3"></textarea><br>
Internal Notes: <textarea rows="5" cols="68" type="text" name="InternalNotes" id="OB4"></textarea><br>
KB Reference(s): <input type="text" name="CSKB" id="OB5"><br>
<br><br>
<input type="button" onClick="ClearText" value="Clear Me">
<input type="button" name="Copier" value="Copy Me" onClick="CopyFields 'OB1', 'OB2', 'OB3', 'OB4', 'OB5'">
<input type="button" name="Writer" value="Write Me">
</body>
</html>
最佳答案
那是很多代码。有什么意义吗?
这是读取剪贴板的方法,写入剪贴板的方法类似。 HTA 是没有安全性的 IE 窗口,因此您不需要导航。
Sub Clip
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = 0
'Have to navigate to a local file to put IE into Intranet Zone, else this will generate security dialog asking permission
ie.Navigate2 FilterPath & "Filter.html"
Do
wscript.sleep 100
Loop until ie.document.readystate = "complete"
txt=ie.document.parentwindow.clipboardData.GetData("TEXT")
ie.quit
If IsNull(txt) = true then
outp.writeline "No text on clipboard"
else
outp.writeline txt
End If
End Sub
来自帮助
clipboardData Object Members
Provides access to predefined clipboard formats for use in editing operations.
Methods
clearData , getData , setData
关于javascript - HTA:尝试将各种输入框和文本区域写入文本文件并复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35543112/
当尝试复制到剪贴板时,有什么区别 Clipboard.SetData(DataFormats.Text, ""); 和 Clipboard.SetText(""); 最佳答案 SetText 只是 S
我正在尝试将一个对象复制到 Windows 剪贴板上,然后再次关闭。我的代码是这样的: 复制到剪贴板: Clipboard.Clear(); DataObject newObject = new Da
如何在非静态线程中获取剪贴板文本?我有一个解决方案,但我正在尝试获得最干净/最短的方法。正常调用时结果为空字符串。 最佳答案 我会添加一个辅助方法,它可以在 MTA 主线程中将 Action 作为 S
我正在研究Applescript,将上次复制的内容粘贴到任何当前字段中。它将与VoiceOver一起使用,并且关键代码方式(我所知道的唯一方式)并非始终有效。 tell application
我在这里看到: http://www.pgrs.net/2008/1/11/command-line-clipboard-access Linux 和 osx 中有一种方法可以从命令行复制到剪贴板。所
我正在尝试使用已在浏览器中运行的 Clipboard API,但 PhpStorm 不知道它。 怎样才能让 PhpStorm 识别它?我已在项目设置中将 JavaScript 语言版本设置为 ECMA
Wayland 中有剪贴板 API 之类的东西吗?或者我应该在哪里以编程方式将内容粘贴到剪贴板? 我在 Wayland 上运行 Fedora 24。 如果我觉得有一个剪贴板完全没问题,那么有代码示例(
我最近看到一个针对 ClearCase 的绝妙 hack,其中版本号作为提交的一部分被添加到 Windows 剪贴板。黑客看起来像这样: @rem = ' PERL for Windows NT -
为什么 System.Windows.Clipboard(PresentationCore.dll) 对System.Windows.Thickness (PresentationFramework.
我想用来自 NUnit 测试的文本填充 Forms.Clipboard。 我遇到的第一个问题是剪贴板必须在STA模式下使用。我找到了 the solution (NUnit 2.5.x+) 在方法上设
当我想在我的应用程序中共享基本纯文本时,将其复制到剪贴板的选项不会显示在选择器列表中。我的代码有问题吗?还是我的设备设置有误? String code = getXMLCode(); Intent s
我在LibGDX开发游戏,游戏中有登录界面和注册界面。 HTML 版本的游戏有剪贴板的沙盒环境,意味着: 任何从游戏中复制的东西,都不能粘贴到游戏外&从外部复制的任何内容都不能粘贴到游戏的文本字段中
我有一个奇怪的问题,我相信我可能只需要一些权利来声明使其工作。 我有一些用户可以复制文本的 TextView ,并且可以将其粘贴到应用程序内的另一个文本字段中。但是当用户退出(或暂停)应用程序时,用户
我有一个小程序正在监听图像的剪贴板( Hook )。如果有存储或通过ctrl+c等复制的图像,我的程序会自动将图像粘贴到打开的word文档中。 代码: if (Clipboard.ContainsIm
我正在使用在 Linux Mint 上运行的终端仿真器(准确地说是 MATE),它在 Windows 托管的虚拟机中运行。我通过 ssh 连接到 CentOS Linux 上的 bash shell。
我发现自己在运行脚本并将这些运行的输出复制粘贴到电子邮件或其他一些文档中。有没有办法让复制到剪贴板的步骤成为脚本本身的一部分?我的大部分脚本都是 Perl 或 bat 文件,我在 Windows 上工
如何使用 .NET 框架访问剪贴板内容? 最佳答案 检查 Clipboard类及其 SetText\GetText 方法。 另请参阅本教程: Clipboard Copy and Paste with
我有一些代码要复制和粘贴: void WinClipboard::copy( const std::string& input ) { LPWSTR lptstrCopy;
我想获取当前存储在 Windows 剪贴板中的数据并将其保存在一个变量中,然后将数据放回剪贴板。 现在我正在使用这段代码: object l_oClipBrdData = Clipboard.GetD
引用topic这解释了如何将数据复制到 android 剪贴板,是否可以将视频/音频文件复制到剪贴板。 我假设视频/音频文件以二进制值存储并再次绑定(bind)以将它们作为视频/音频播放。 需要您的建
我是一名优秀的程序员,十分优秀!