Тема: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

Здравствуйте
необходимо иза акада на vba запустить word документ и создать в нем таблицу
Set wrd = CreateObject("Word.Application")
wrd.Documents.Add
adoc = wrd.ActiveDocument
wrd.Visible = True
wrd.Activate
tb0 = adoc.Tables.Add(Range = adoc.Range (Start = 0, end = 0) , NumRows = 1, NumColumns = 3)
но акад ессно кричит что ошибка на end  (expected expression)
подскажите пожалуйста как разрулить?

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> AnteC
А так работает? Двоеточие забыл

Option Explicit
Sub test()
Dim wrd As Object
Dim tb0 As Object
Dim adoc As Object
Set wrd = CreateObject("Word.Application")
wrd.Documents.Add
Set adoc = wrd.ActiveDocument
wrd.Visible = True
wrd.Activate
Set tb0 = adoc.Tables.Add(Range:=adoc.Range(Start:=0, End:=0), NumRows:=1, NumColumns:=3)
End Sub

~'J'~

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

Спасибо помогло :)
и еще вопрос в догонку как в ячейке выровнить текст по правому краю?
по вертикали нашел - tb0.Cell(1, 1).VerticalAlignment = wdAlignVerticalCenter
но вот по горизонтали не могу :(

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> AnteC
Если я не опоздал:
tb0.Cell(1, 1).WdHorizontalLineAlignment = wdHorizontalLineAlignRight
Здесь горизонтальное выравнивание а не вертикальное
~'J'~

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> AnteC
Мои извинения, соврамши малость
Спробуй, так лучше:

Option Explicit
Sub test()
Dim wrd As Object
Dim tb0 As Object
Dim adoc As Object
Dim i, j As Integer
Dim algObj As Object
Set wrd = CreateObject("Word.Application")
wrd.Documents.Add
Set adoc = wrd.ActiveDocument
wrd.Visible = True
wrd.Activate
Set tb0 = adoc.Tables.Add(Range:=adoc.Range(Start:=0, End:=0), NumRows:=10, NumColumns:=5)
For i = 1 To tb0.Rows.Count
For j = 1 To tb0.Rows(i).Cells.Count
tb0.Cell(i, j).Range.Text = "Test"
tb0.Cell(i, j).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight
Next j
Next i
End Sub

~'J'~

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

Олег(jr.)
Спасибо
очень уж неудобный help  в vba MS Word'а :(

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> AnteC
Согласен, а где лучше-то взять?
~'J'~

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> Олег(jr.)
а я без хэлпа роаботаю :) запускаю запись макроса, потом с ним разбираюсь, но там не все видно, так что иногда приходится читать документацию

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> SmeL
Да ты-то спец, а я совсем лох пока в VBA
конечно я где-то больше по интуиции смотрю методы
свойства и т.д. только рука не набита еще...
Я ж вижу у тебя все работает а у меня 80% в мусор
:)
~'J'~

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

Еще один вопрос по vba для ms word
есть таблица
Set tb1 = adoc.Tables.Add(Range:=adoc.Range(Start:=0, End:=1), NumRows:=1, NumColumns:=1)
как добавить еще одну таблицу через определенный интервал?
если опять
Set tb2 = adoc.Tables.Add(Range:=adoc.Range(Start:=1, End:=2), NumRows:=1, NumColumns:=1)
то новая таблица не создается, а просто добавляется к старой

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> AnteC
Наверно после первой таблицы нужно добавить
параграф в виде пустой строки
Не пробовал, нет времени
~'J'~

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

да спасибо проблему решил
adoc.Content.InsertParagraphAfter
просто не знал как это можно сделать

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

> AnteC
Или так только медленно почему-то после первой таблицы:

Option Explicit
Sub test()
Dim wrd As Object
Dim adoc As Object
Dim tb0 As Object
Dim tb1 As Object
Dim tb2 As Object
Dim rng As Object
Dim i, j, ed As Integer
Set wrd = CreateObject("Word.Application")
wrd.Documents.Add
Set adoc = wrd.ActiveDocument
wrd.Visible = True
wrd.Activate
Set rng = adoc.Range(Start:=0, End:=0)
rng.InsertBefore Text:="First Table" + vbCr
Set rng = adoc.Range
ed = rng.End - 1
Set tb0 = adoc.Tables.Add(Range:=adoc.Range(Start:=ed, End:=ed), NumRows:=5, NumColumns:=5)
For i = 1 To tb0.Rows.Count
For j = 1 To tb0.Rows(i).Cells.Count
tb0.Cell(i, j).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight
Next j
Next i
Set rng = Nothing
Set rng = adoc.Range
rng.InsertAfter Text:=vbCr + "Second Table"
Set rng = adoc.Range
ed = rng.End - 1
Set rng = Nothing
Set tb1 = adoc.Tables.Add(Range:=adoc.Range(Start:=ed, End:=ed), NumRows:=4, NumColumns:=4)
Set rng = adoc.Range
rng.InsertAfter Text:=vbCr + "Third Table"
Set rng = adoc.Range
ed = rng.End - 1
Set rng = Nothing
Set tb2 = adoc.Tables.Add(Range:=adoc.Range(Start:=ed, End:=ed), NumRows:=4, NumColumns:=3)
End Sub

~'J'~

Re: Как из AutoCAD на VBA запустить Word документ и создать в нем таблицу?

Здравствуйте
необходимо иза акада на vba запустить блокнот.
Если можно то с сохранением блокнота допустим на C:\
Спасибо за помощь!