Из Java в VBS...люди добрые - не можу!!
Модератор: Модераторы
Сообщений: 6
• Страница 1 из 1
Такая байда товарищи: на этом сайте в статье про WSH был дан пример работы с WORD-ом...а именно создание скриптом нового файла, создание там таблицы и занесение в неё данных НО НА JAVA!!:( Мне же понадобилось вставить нечто подобное в скрипт на VBS....и не можу!! Стыдно и печально...может кто поможет?? Плиииз...
Приведу этот пример:
var wrd = new ActiveXObject("Word.Application");
//Создаем новый документ
wrd.Documents.Add();
//Получаем указатель на активный документ
adoc=wrd.ActiveDocument;
//Указатель на область в документе
myRange = adoc.Range(Start=0, End=0)
//Активизируем Ворд
wrd.Visible = true;
wrd.Activate();
//Создаем таблицу с одной строкой и тремя столбцами
tb0=adoc.tables.Add(Range=myRange, NumRows=1, NumColumns=3);
//Задаем ширину столбцов
tb0.Columns(1).Width = 80;
tb0.Columns(2).Width = 160;
tb0.Columns(3).Width = 160;
//Заполняем заголовок таблицы
tb0.Cell(1,1).Range.InsertAfter("Название свойства");
tb0.Cell(1,2).Range.InsertAfter("Значение");
tb0.Cell(1,3).Range.InsertAfter("Описание");
//Счетчик строк
intIndex = 2;
//Выводимая в строках таблицы информация
Show("Name", WScript.Name, "Application Friendly Name");
Show("Version", WScript.Version, "Application Version");
Show("FullName", WScript.FullName, "Application Context: Fully Qualified Name");
Show("Path", WScript.Path, "Application Context: Path Only");
Show("Interactive", WScript.Interactive, "State of Interactive Mode");
//Ну и сама функция для вывода строк
function Show(strName, strValue, strDesc) {
tb0.Rows.Add();
tb0.Cell(intIndex, 1).Range.InsertAfter(strName);
tb0.Cell(intIndex, 2).Range.InsertAfter(strValue);
tb0.Cell(intIndex, 3).Range.InsertAfter(strDesc);
intIndex++;
}
Было б еще замечательно если бы сразу и добавили строчку сохранения созданного файла в указанную директорию...
Спасибо хоть за то что прочитали сию мараку..
/replace by Gifted
Приведу этот пример:
var wrd = new ActiveXObject("Word.Application");
//Создаем новый документ
wrd.Documents.Add();
//Получаем указатель на активный документ
adoc=wrd.ActiveDocument;
//Указатель на область в документе
myRange = adoc.Range(Start=0, End=0)
//Активизируем Ворд
wrd.Visible = true;
wrd.Activate();
//Создаем таблицу с одной строкой и тремя столбцами
tb0=adoc.tables.Add(Range=myRange, NumRows=1, NumColumns=3);
//Задаем ширину столбцов
tb0.Columns(1).Width = 80;
tb0.Columns(2).Width = 160;
tb0.Columns(3).Width = 160;
//Заполняем заголовок таблицы
tb0.Cell(1,1).Range.InsertAfter("Название свойства");
tb0.Cell(1,2).Range.InsertAfter("Значение");
tb0.Cell(1,3).Range.InsertAfter("Описание");
//Счетчик строк
intIndex = 2;
//Выводимая в строках таблицы информация
Show("Name", WScript.Name, "Application Friendly Name");
Show("Version", WScript.Version, "Application Version");
Show("FullName", WScript.FullName, "Application Context: Fully Qualified Name");
Show("Path", WScript.Path, "Application Context: Path Only");
Show("Interactive", WScript.Interactive, "State of Interactive Mode");
//Ну и сама функция для вывода строк
function Show(strName, strValue, strDesc) {
tb0.Rows.Add();
tb0.Cell(intIndex, 1).Range.InsertAfter(strName);
tb0.Cell(intIndex, 2).Range.InsertAfter(strValue);
tb0.Cell(intIndex, 3).Range.InsertAfter(strDesc);
intIndex++;
}
Было б еще замечательно если бы сразу и добавили строчку сохранения созданного файла в указанную директорию...
Спасибо хоть за то что прочитали сию мараку..
/replace by Gifted
- Valeriy
- Активный пользователь
- Сообщения: 243
- Зарегистрирован: 30 июн 2004, 16:18
- Откуда: Кировоград (Украина)
genesis
Странно, а причем тут сетевые ОС?
По сути - на VBS объекты создаются так
Set wrd = CreateObject("Word.Application")
а в остальном особых различий нет.
Странно, а причем тут сетевые ОС?
По сути - на VBS объекты создаются так
Set wrd = CreateObject("Word.Application")
а в остальном особых различий нет.
C уважением, Валерий
Я тебе дам рабочий кусок кода из книги по WHS. Может поможет
'*******************************************************************
' Имя: PrintInWord.vbs
' Язык: VBScript
' Описание: Использование из сценария внешнего объекта
' автоматизации (Microsoft Word)
'*******************************************************************
Option Explicit
Dim WA,WD,Sel ' Объявляем переменные
'Создаем объект--приложение Microsoft Word
Set WA=WScript.CreateObject("Word.Application")
' Можно было использовать конструкцию
' Set WA=CreateObject("Word.Application")
Set WD=WA.Documents.Add 'Создаем новый документ (объект Document)
WA.Visible=true ' Делаем Word видимым
Set Sel=WA.Selection 'Создаем объект Selection
Sel.Font.Size=14 'Устанавливаем размер шрифта
Sel.ParagraphFormat.Alignment=1 'Выравнивание по центру
Sel.Font.Bold=true 'Устанавливаем полужирный шрифт
Sel.TypeText "Привет!" & vbCrLf 'Печатаем строку текста
Sel.Font.Bold=false 'Отменяем полужирный шрифт
Sel.ParagraphFormat.Alignment=0 'Выравнивание по левому краю
'Печатаем строку текста
Sel.TypeText "Эти строки напечатаны с помощью WSH."
'WD.PrintOut 'Выводим документ на принтер
'************* Конец *********************************************
'*******************************************************************
' Имя: PrintInWord.vbs
' Язык: VBScript
' Описание: Использование из сценария внешнего объекта
' автоматизации (Microsoft Word)
'*******************************************************************
Option Explicit
Dim WA,WD,Sel ' Объявляем переменные
'Создаем объект--приложение Microsoft Word
Set WA=WScript.CreateObject("Word.Application")
' Можно было использовать конструкцию
' Set WA=CreateObject("Word.Application")
Set WD=WA.Documents.Add 'Создаем новый документ (объект Document)
WA.Visible=true ' Делаем Word видимым
Set Sel=WA.Selection 'Создаем объект Selection
Sel.Font.Size=14 'Устанавливаем размер шрифта
Sel.ParagraphFormat.Alignment=1 'Выравнивание по центру
Sel.Font.Bold=true 'Устанавливаем полужирный шрифт
Sel.TypeText "Привет!" & vbCrLf 'Печатаем строку текста
Sel.Font.Bold=false 'Отменяем полужирный шрифт
Sel.ParagraphFormat.Alignment=0 'Выравнивание по левому краю
'Печатаем строку текста
Sel.TypeText "Эти строки напечатаны с помощью WSH."
'WD.PrintOut 'Выводим документ на принтер
'************* Конец *********************************************
Valeriy
Дело в том что VBS скрипты для WSH пишут иногда админы для создания своих хитромудростей...потому и полез в эту тему - за оффтоп сорри...
Хоть особых различий нет - но все же...как например на VBS будет выглядеть строчка:
tb0=adoc.tables.Add(Range=myRange, NumRows=1, NumColumns=3); '??
Все все знают но хранят тайну..)))
Дело в том что VBS скрипты для WSH пишут иногда админы для создания своих хитромудростей...потому и полез в эту тему - за оффтоп сорри...
Хоть особых различий нет - но все же...как например на VBS будет выглядеть строчка:
tb0=adoc.tables.Add(Range=myRange, NumRows=1, NumColumns=3); '??
Все все знают но хранят тайну..)))
- Valeriy
- Активный пользователь
- Сообщения: 243
- Зарегистрирован: 30 июн 2004, 16:18
- Откуда: Кировоград (Украина)
Цитата |
Хоть особых различий нет - но все же...как например на VBS будет выглядеть строчка:
tb0=adoc.tables.Add(Range=myRange, NumRows=1, NumColumns=3); '?? Все все знают но хранят тайну..))) [/quote] А кому интересно отвечать на элементарные вопросы? Тебе лень взглянуть в справку и попробовать. Вопросы элементарные. Все объекты создаются через set set tb0=adoc.tables.Add(myRange, 1,3) C уважением, Валерий
Сообщений: 6
• Страница 1 из 1
Кто сейчас на конференцииСейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2 |