Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вставка таблиц в Word Добавлено: 21.10.03 12:12  

Автор вопроса:  lnu

Народ, я работаю в VisualFoxPro и надо перебросить данные в Word, запускаю его с помощью

oword=create('word.application').

Просто текст я ввожу так:

oword.documents.add()
oWordRef = GetObject('','word.basic')
owordRef.insert('My Text'),
а с таблицей проблемка...

А как добавить таблицу и в каждую ячейку всунуть текст?
Шаблоны использовать не хочется (просто не извесно наперед сколько будет строк и столбцов).

Пробовал так:

NumRows=2
NumColumns=5
range1=oword.ActiveDocument.Paragraphs.Last.Range
oword.ActiveDocument.Tables.Add(range1,NumRows,NumColumns)
oword.ActiveDocument.Paragraphs.Add()

но как туда что-то запихивать ...

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #1
Добавлено: 21.10.03 13:09

Вот кусок моего кода

    Set objWord = CreateObject("Word.Application")

    Set objDoc = objWord.Documents.Add

    objWord.Visible = True

 

    With objWord.Documents(1)

        .PageSetup.LeftMargin = 70

        .PageSetup.RightMargin = 40

        .PageSetup.TopMargin = 40

        .PageSetup.BottomMargin = 40

    End With

 

    objDoc.Tables.Add Range:=objWord.Selection.Range, NumRows:=1, NumColumns:=3

    With objDoc.Tables(1)

        iCurrRow = .Rows.Count

        .Columns(1).Width = 100

        .Columns(2).Width = 90

        .Columns(3).Width = 300

        .Cell(iCurrRow, 1).Range.Text = "Заголовок1"

        .Cell(iCurrRow, 2).Range.Text = " Заголовок2"

        .Cell(iCurrRow, 3).Range.Text = " Заголовок3"

        .Rows(1).Range.Font.Size = 12

    End With

Номер ответа: 2
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #2
Добавлено: 21.10.03 13:13

    Set objWord = CreateObject("Word.Application")

    Set objDoc = objWord.Documents.Add

    objWord.Visible = True

 

    With objWord.Documents(1)

        .PageSetup.LeftMargin = 70

        .PageSetup.RightMargin = 40

        .PageSetup.TopMargin = 40

        .PageSetup.BottomMargin = 40

    End With

 

    objDoc.Tables.Add Range:=objWord.Selection.Range, NumRows:=1, NumColumns:=3

    With objDoc.Tables(1)

        iCurrRow = .Rows.Count

        .Columns(1).Width = 100

        .Columns(2).Width = 90

        .Columns(3).Width = 300

        .Cell(iCurrRow, 1).Range.Text = "Заголовок1"

        .Cell(iCurrRow, 2).Range.Text = " Заголовок2"

        .Cell(iCurrRow, 3).Range.Text = " Заголовок3"

        .Rows(1).Range.Font.Size = 12

    End With

Ответить

Номер ответа: 3
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #3
Добавлено: 21.10.03 13:15

Что такое??!! Вставляю весь код а выводится половина. Глюки,однако

Вот окончание

    objWord.Selection.Font.Size = 12

    objWord.Documents(1).SaveAs gmsPath & gmsFileName

 

Private Sub WriteToTable(sDate As String, sNum As String, sMsg As String)

    Dim lCurrRow As Long

  

    objDoc.Tables(1).Rows.Add

    lCurrRow = objDoc.Tables(1).Rows.Count

    objDoc.Tables(1).Cell(lCurrRow, 1).Range.Text = sDate

    objDoc.Tables(1).Cell(lCurrRow, 2).Range.Text = sNum

    objDoc.Tables(1).Cell(lCurrRow, 3).Range.Text = sMsg

    If lCurrRow = 2 Then objDoc.Tables(1).Rows(1).Range.Bold = True

    objDoc.SpellingChecked = True

    objDoc.Save

End Sub

Ответить

Номер ответа: 4
Автор ответа:
 lnu



Вопросов: 8
Ответов: 14
 Профиль | | #4 Добавлено: 21.10.03 14:50

Спасибо :)), попробую все єто закинуть в Fox.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам