Используйте буфер обмена от VBScript

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

18
задан Peter Mortensen 11 March 2010 в 11:13
поделиться

5 ответов

Microsoft не дает путь к VBScript для прямого доступа к буферу обмена. Если Вы сделаете поиск 'clipboard' на этот сайт, то Вы будете видеть:

, Хотя Visual Basic for Applications поддерживает Экран, Принтер, Приложение, Отладку, Err и объекты Буфера обмена, VBScript поддерживает только объект Err. Поэтому VBScript не позволяет Вам получать доступ к таким полезным объектам как указатель мыши или буфер обмена. Можно, однако, использовать объект Err обеспечить обработку ошибки периода выполнения для приложений.

Настолько использующий блокнот косвенно, вероятно, о лучшем, которое Вы сможете сделать только с VBScript.

5
ответ дан 30 November 2019 в 05:42
поделиться

Если это - просто текст, Вы не можете просто создать текстовый файл и чтение в содержании при необходимости в нем?

Другая альтернатива и ясно клудж, должен был бы использовать SendKeys() метод.

0
ответ дан 30 November 2019 в 05:42
поделиться

Для предотвращения предупреждений системы безопасности, связанных с Internet Explorer и доступом буфера обмена, я рекомендовал бы использовать объект приложения Word и его методы для помещения данных на буфер обмена. Конечно, можно только использовать это на машине, которой установили MS Word, но в эти дни это - большинство из них. (*In злость того, что Вы попросили материал в 'чистой' системе :) *)

' Set what you want to put in the clipboard '
strMessage = "Imagine that, it works!"

' Declare an object for the word application '
Set objWord = CreateObject("Word.Application")

' Using the object '
With objWord
   .Visible = False         ' Don't show word '
   .Documents.Add           ' Create a document '
   .Selection.TypeText strMessage   ' Put text into it '
   .Selection.WholeStory        ' Select everything in the doc '
   .Selection.Copy          ' Copy contents to clipboard '
   .Quit False          ' Close Word, don't save ' 
End With

можно найти деталь об объекте приложения MS Word и его методах здесь: http://msdn.microsoft.com/en-us/library/aa221371 (офис 11) .aspx

7
ответ дан 30 November 2019 в 05:42
поделиться

Самым близким решением, которое я нашел до сих пор, является метод для использования IE, чтобы получить и установить материал на буфере обмена. Проблемой с этим решением является пользователь, получает предупреждения системы безопасности. Я испытываю желание переместить 'about:blank' в зону безопасности локального компьютера, таким образом, я не получаю предупреждения, но я не уверен, каковы последствия безопасности этого были бы.

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.document.parentwindow.clipboardData.SetData "text", "Hello This Is A Test"
objIE.Quit

http://www.microsoft.com/technet/scriptcenter/resources/qanda/dec04/hey1215.mspx

10
ответ дан 30 November 2019 в 05:42
поделиться

Другое решение я нашел это, не идеально, по-моему, но не имеет раздражающих предупреждений системы безопасности, должен использовать clip.exe с w2k3 сервера.

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c echo hello world | clip", 0, TRUE

http://www.petri.co.il/quickly_copy_error_and_display_messages.htm

Пример с многострочной строкой согласно вопросу ниже

Dim string
String = "text here" &chr(13)& "more text here"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c echo " & String & " | clip", 0, TRUE
27
ответ дан 30 November 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: