Тема: Открыть документ в Ворде
Необходимо открыть документ с пустой таблицей в Ворде и записать в ячейки некоторые значения.
Dim Word As Object
Set Word = GetObject("c:\Проба.doc")
А что делать дальше не знаю...
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Открыть документ в Ворде
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Необходимо открыть документ с пустой таблицей в Ворде и записать в ячейки некоторые значения.
Dim Word As Object
Set Word = GetObject("c:\Проба.doc")
А что делать дальше не знаю...
> radan
Примерно так:
Option Explicit Sub WordTable01() 'by Fatty T.O.H. () 2007 * all rights removed ' make sure you set reference to Microsoft Word Object Library! Dim wrd As Object Dim wdoc As Object Dim wtbl As Object Dim rng As Object Dim i As Integer Dim j As Integer Dim ed As Integer Set wrd = CreateObject("Word.Application") wrd.Documents.Add Set wdoc = wrd.ActiveDocument wrd.Visible = True wrd.Activate wrd.ScreenUpdating = False With wdoc .Activate .ActiveWindow.Visible = True .Select With .PageSetup .Orientation = wdOrientPortrait .TopMargin = InchesToPoints(0.748) .BottomMargin = InchesToPoints(1.2) .RightMargin = InchesToPoints(0.54) End With End With Set rng = wdoc.Range(Start:=0, End:=0) With rng.Paragraphs(1).Range .Font.Size = 9 .Font.Bold = True .Font.Name = "Tahoma" .Font.color = wdColorBlue End With rng.InsertBefore Text:="The Table Follows Here:" & vbCr & vbCr Set rng = wdoc.Range ed = rng.End - 1 Set wtbl = wdoc.Tables.Add(Range:=wdoc.Range(Start:=ed, End:=ed), NumRows:=20, NumColumns:=5) For i = 1 To wtbl.Rows.Count For j = 1 To wtbl.Columns.Count wtbl.Cell(i, j).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft wtbl.Columns(j).Cells(i).Range.Text = "R: " & CStr(i) & " * C: " & CStr(j) Next Next Set rng = Nothing wrd.ScreenUpdating = True wrd.Selection.Collapse End Sub
~'J'~
Спасибо, метод рабочий но есть одно НО. Он создаёт новый документ. А мне надо в готовый документ с пустой таблицей. Если вместо создания Set wrd = CreateObject("Word.Application") открыть готовый Set wrd = GetObject("c:\Проба.doc"), программа не работает.
> radan
Ничего сложного, можно и для существующего
(Документ Word не должен быть открыт):
Option Explicit Sub AddTableToExistDoc() 'by Fatty T.O.H. () 2007 * all rights removed ' make sure you set reference to Microsoft Word Object Library! Dim wrd As Object Dim wdoc As Object Dim wtbl As Object Dim rng As Object Dim i As Integer Dim j As Integer Dim ed As Integer Dim fname As String fname = ThisDrawing.Path & "\" & "Test.doc" '<--change the full path here Set wrd = CreateObject("Word.Application") wrd.Visible = True wrd.Activate Set wdoc = wrd.Documents.Open(fname) wdoc.Activate Set wdoc = wrd.ActiveDocument wrd.ScreenUpdating = False With wdoc .Activate .ActiveWindow.Visible = True .Select With .PageSetup .Orientation = wdOrientPortrait .TopMargin = InchesToPoints(0.748) .BottomMargin = InchesToPoints(1.2) .RightMargin = InchesToPoints(0.54) End With End With Set rng = wdoc.Range(Start:=0, End:=0) With rng.Paragraphs(1).Range .Font.Size = 9 .Font.Bold = True .Font.Name = "Tahoma" .Font.color = wdColorBlue End With rng.InsertBefore Text:="The Table Follows Here:" & vbCr & vbCr Set rng = wdoc.Range ed = rng.End - 1 Set wtbl = wdoc.Tables.Add(Range:=wdoc.Range(Start:=ed, End:=ed), NumRows:=20, NumColumns:=5) For i = 1 To wtbl.Rows.Count For j = 1 To wtbl.Columns.Count wtbl.Cell(i, j).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft wtbl.Columns(j).Cells(i).Range.Text = "R: " & CStr(i) & " * C: " & CStr(j) Next Next Set rng = Nothing wrd.ScreenUpdating = True wrd.Selection.Collapse wdoc.Save wdoc.Close wrd.Quit Set wdoc = Nothing Set wrd = Nothing MsgBox "Done" End Sub
~'J'~
> radan
Советую также посмотреть здесь как работать с открытым
и закрытым документом:
http://www.excelguru.ca/node/10
~'J'~
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Открыть документ в Ворде
Форум работает на PunBB, при поддержке Informer Technologies, Inc