печать .doc Application посредством Ls

  • Автор темы deeeman
  • Дата начала
D

deeeman

всем добрый день!

в LS
формирую для печати коллекцию документов .doc

по коллекции документов

1. создаю word application
2. заполняю word значениями из doc
3. вызываю на печать командой
4. делаю word.quit
далее следующий пошел


не успевает печатать )) очередь для печати пустая, деаю для одного документа, работает )
кто подобное делал? как сделать чтобы ?
 
K

Klido

скорее WordApplication.ActiveDocument.Close ну или как там правильно в контексте версии ворда...
 
D

deeeman

еще вопрос:

создаю в ворде табличку:


With wdApp.Application.Selection
Set wdTable = wdApp.ActiveDocument.Tables.Add(.Range, 15, 8)
wdTable.Borders.OutsideLineStyle = 1
wdTable.Borders.InsideLineStyle = 1
wdTable.Rows.Alignment = 1 '=wdAlignRowCenter
wdTable.Columns(1).Width=wdApp.InchesToPoints(0.45)
wdTable.Columns(2).Width=wdApp.InchesToPoints(0.45)
end with

а как в определенную ячейку записать текст ? по хелпу ничего не могу найти...
 
N

nvyush

а как в определенную ячейку записать текст ? по хелпу ничего не могу найти...

Можно в ворде включить запись макроса, нарисовать табличку, повтыкать в разные ячейки текст и посмотреть, что сгенерит ворд.
 
K

Klido

чуть глубже таблицы :)

Table.Cell Method
Returns a Cell object that represents a cell in a table.
Syntax

expression.Cell(Row, Column)

expression Required. A variable that represents a Table object.

Parameters

Name Required/Optional Data Type Description
Row Required Long The number of the row in the table to return. Can be an integer between 1 and the number of rows in the table.
Column Required Long The number of the cell in the table to return. Can be an integer between 1 and the number of columns in the table.

Return Value
Cell

Example


This example creates a 3x3 table in a new document and inserts text into the first and last cells in the table.

Visual Basic for Applications
Dim docNew As Document
Dim tableNew As Table

Set docNew = Documents.Add
Set tableNew = docNew.Tables.Add(Selection.Range, 3, 3)

With tableNew
.Cell(1,1).Range.InsertAfter "First cell"
.Cell(tableNew.Rows.Count, _
tableNew.Columns.Count).Range.InsertAfter "Last Cell"
End With

This example deletes the first cell from the first table in the active document.

Visual Basic for Applications
If ActiveDocument.Tables.Count >= 1 Then
ActiveDocument.Tables(1).Cell(1, 1).Delete
End If


Можно в ворде включить запись макроса
это воистину гениальное изобретение MS :) жаль его до сих пор в лотусине нет, а так бы помогло :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!