Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Создание таблицы в Word


Автор: OrbitRus 5.6.2013, 21:21
как создать таблицу не в активном документе, а в определённом?


нужно в этом документе
Код

Dim objWord As Object


Set objWord = New Word.Application 'CreateObject("Word.Application")


или нужен другой код для создания нового документа?

Добавлено @ 21:26
из перепробанного только так создалась таблица
Код

ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=5, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitContent
    With Selection.Tables(1)
        If .Style <> "Сетка таблицы" Then
            .Style = "Сетка таблицы"
        End If
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = True
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = True
    End With

но при ActiveDocument она создаётся в 1-м открытом документе, а во 2-м ошибка!что делать??подскажите пожалуйста! smile 

Автор: Akina 5.6.2013, 21:28
Цитата(OrbitRus @  5.6.2013,  22:21 Найти цитируемый пост)
не в активном документе, а в определённом?

Надо получить ссылку на запущенный Ворд и найти нужный документ в его коллекции Documents... как мне кажется. Как это сделать - не подскажу. в Вордовом VBA слабоват, а вкапываться в изучение его объектной модели тупо лениво.
В Экселе нужно просто найти нужный воркспейс (перебрав их коллекцию) и перебрать все его воркбуки... вероятно, и с вордом аналогичная фигня.
Обратись лучше с этим в форум по Офису...

Автор: OrbitRus 5.6.2013, 21:31
Akina, а почему так не работает 
Код

objWord.Tables.Add Range:=Selection.Range, NumRows:=5, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitContent


Добавлено @ 21:33
пишет 
Код

object doesn't support this property or method

Автор: Akina 5.6.2013, 21:45
См. объектную модель ворда - ответ там.
Навскидку - мне кажется, что коллекция таблиц таки не в объекте ворда, а в объекте документа, причём определённого.

Автор: OrbitRus 5.6.2013, 23:51
Akina, спасибо за помощь, но я ничего не понял=)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)