Помогите познающему WSH. Необходим скрипт на VBScript, который при запуске любой книги Excel (не создавая ее) будет влиять на нее, например получит содержимое ячеек, или имя книги, или установит новое содержимое ячеек...пытался сделать через это:
Dim objXL
set WshShell = WScript.CreateObject("WScript.Shell")
Set objXL = Wscript.CreateObject("Excel.Application")
KL = True
do while KL
if WshShell.AppActivate("Microsoft Excel") then
MsgBox objXL.WorkBooks.Name
KL = false
end if
loop
но это не работает
Насколько я понял фраза "не создавая" означает что необходим доступ к уже имеющемуся файлу Excel....тогда могу предложить вот что:
Option explicit
Dim objXL
Dim our_file
dim CHISLO
dim OTVET
on error resume next
our_file = "c:\Temp\xxxx.xls" 'прописываем путь к этому файлу
Set objXL = WScript.CreateObject("Excel.Application")
set WSHShell = WScript.CreateObject("WScript.Shell")
'Делаем окно невидимым и создаем рабочую книгу
objXL.Visible = FALSE
objXL.Workbooks.Add our_file 'получаем наш файл
Set xlSheet = xlWorkbook.ActiveSheet
objXL.Cells(1, 1).Value = 100 'заносим в данную ячейку число например 100
OTVET=objXL.Cells(1, 1).Value ' читаем из этой же ячейки
reply = msgbox ("Ответ равен "& OTVET & vbcrlf, vbokOnly) ' выводим окошечко
Может и коряво но осуществляется запись\чтение в ячейки в фоновом невидимом режиме....остальное - от фантазии и поставленной задачи...желаю удачи...
я имел в виду вот что:запущенный скрипт в бесконечном цикле ждет запуска каким нибудь пользователем какого нибудь файла Excel (любого) и как только происходит открытие файла, скрипт получает к нему доступ(запись, чтение)....имя файла может быть любым, главное иметь доступ к ОТКРЫТОМУ (ОТКРЫТЫМ) в данный момент книгам...
Спасибо за ссылку, но к сожалению там не нащел ничего подходящего, там конечно рассказывается про управление окнами, но примеры только про посыл клавиш активному окну, это все работает, но вот чтобы именно использовать функции самой программы (Excel)...??? Если открыт файл Excel окно активируется конечно, и можно будет посылать SendKeys, но как получить значение допустим ячейки А1? Просто везде пишется и говориться , что WSH довольно мощная штука, я в этом не сомневаюсь, но везде примеры что то типа "пошутить над знакомыми" , или типа того, мол как здорово имитировать посыл клавиш, и далее мол читайте на микрософте подробнее, может есть ссылочка на какой нибудь форум, или еще чего???
Во-во...WSH пока славится тем что обьемная и конкретная информация по написанию для него скриптов или в платных книгах или ХЗ где....Малдеру в Секретных материалах легче инопланетян сыскать..
Я как раз пишу скрипт который на удаленном компьютере в локальной сети открывает заданный файл Excel, считывает с его ячеек в переменные какие-либо числовые значения а затем по ним создает таблицу в Word-е на домашнем ПК....в VBS я как потомственный моряк в середине пустыни....вот и представь как намучался... ...вроде и херня, а геморов то сколько..
Точно! Да и книги я искал, в книжные ездил, дай думаю куплю умную книгу про WSH да и буду умным очень, ан нет...даже в крупных магазах не было, одну нашел про WMI и все такое, там есть раздел про WSH, но инфа та же самая , что и на сайтах , только по подробнее, но смысл тот же и примеры такие же, да и про VBS тоже мало всего, я ограничиваюсь только познаниями VB.......