K
kaa
Господа ни у кого нет справочного материала по связи 1с с Word, а то работать методом научного тыка устал.
Заранее спасибо!
Заранее спасибо!
Word=СоздатьОбъект("Word.Application");
//Видимость его
Word.Visible=1;
//добавляем новый док
Word.Documents.Add();
//активный док
Док=Word.ActiveDocument();
//Добавить параграф
Док.Paragraphs.Add();
//добавление текста
Док.Paragraphs(НомерПараграпха).Range().InsertAfter(Текст);
//оформление (как в ворде задано - так и передаем)
Док.Paragraphs(НомерПраграфа).Range().Style="Заголовок 2";
//откроем док
Word.Documents.Open(ИмяФайло);
//сохранить, сохранить как
Док.Save();
Док.SaveAs(ИмяФайло);
//закрыть
Док.Close();
//выйти из приложения
Word.Quit();
//Создание дока на основе шаблонки:
Word.Documents.Add("C:\Templates\Shablonis4e.dot");
//Пригаем по открытым докам (Item(Номер Дока по мере открывания, начинается с 1))
Word.Documents.Item(1).Activate();
Word.Documents.Item(2).Activate();
Word.Documents.Item(3).Activate();
//Печатаем:
Word.ActiveDocument.PrintOut();
Вставка текста в док:
//3 способа,
//1: Указать начальный и конечный симлолы диапазона
rng=Word.ActiveDocument.Range(2,4)
//2: указать номер обзатса
Rng=Word.ActiveDocument.Paragraphs.Item(1).Range;
//3: несколько подряд обзатсоф ( на примере с 3-го по 5-й)
Rng=Word.ActiveDocument.Range(Word.ActiveDocument.Paragraphs.Item(3).Range.Start
, Word.ActiveDocument.Paragraphs.Item(5).Range.End);
//непосредственно вставка текста
Rng.InsertAfter("Текст");
//InsertBefore -вставить перед, InsertAfter -после
А если нада заменить выделенный Текст???? не беда!!!
//признак замены (важный ксты!)
Word.Application.Options.ReplaceSelection=1;
//Выделенный фрагмент (получаем)
Sel=Word.Application.Selection;
//заменяем на текст
Sel.TypeText("Текст");
//делаем окончание абзацсу
Sel.TypeParagraph();
//полужирный шрифт
Sel.Font.Bolt=1;
//отменим его
Sel.Font.Bolt=0;
//рекомендую просто сделать цикл на просмотр свойств Selection и Font (для форматирования текста)зы: пример построения цикла есть в теме про 1c+Mlx
Док.Tables.Add(Док.Paragraphs(Номер).Range(),4,4)
Таб=Док.Tables(Док.Tables.Count());
Таб.Cell(1,1).Range().InsertAfter("текст");
Док=Word.ActiveDocument();
Word.Documents.Item(1).Activate();
Word.Visible=1;
Код
Word.Visible=1;
- сделает видимым
должно все работать..
TT = Document.Tables(1); //первая таблица
TT.Columns(1).Cells(1).Range.Text;//первая колонка первая ячейка
Document.Tables().Item(2).Cell(1,3).Range.Text;
TT.Borders(1).LineStyle = 0;//верхняя
TT.Borders(2).LineStyle = 0;//левая
TT.Borders(3).LineStyle = 0;//нижняя
TT.Borders(4).LineStyle = 0;//правая
ТT.Borders(5).LineStyle = 0;//горизонтальная
ТT.Borders(6).LineStyle = 0;//вертикальная
Таких команд у меня нет. Документ открывается просто хотелось чтоб он был так сказать на переднем планепосле него не ставь: Word.Quit();(автоматом закроет приложение и всю видимость) и Док.Close() (закроет Документ) и не даст посмотреть;
Цитата(jcnby @ 24:03:2008 - 19:12)
после него не ставь: Word.Quit();(автоматом закроет приложение и всю видимость) и Док.Close() (закроет Документ) и не даст посмотреть;
Таких команд у меня нет. Документ открывается просто хотелось чтоб он был так сказать на переднем плане
Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab