Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание таблици из VB в Worde / 17 сообщений из 17, страница 1 из 1
30.05.2006, 16:43
    #33761219
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Подскажите пожалуеста каким образом создать и заполнять таблицу
из VB в Word?
...
Рейтинг: 0 / 0
30.05.2006, 17:00
    #33761274
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Sub CreateTable()
    Dim wdApp As Word.Application
    Dim wdDoc As Word.Document
    Dim wdTbl As Word.Table
    Dim wdRng As Word.Range
    
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True
    
    Set wdDoc = wdApp.Documents.Add
    Set wdRng = wdDoc.Range
    
    Set wdTbl = wdDoc.Tables.Add(Range:=wdRng, _
      NumRows:= 5 , NumColumns:= 2 )
      
    wdTbl.Cell( 1 ,  1 ).Range.Text = "Строка1 Столбец1"
    
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub
...
Рейтинг: 0 / 0
31.05.2006, 08:24
    #33762228
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Большое спасибо.
А как рисовать из VB в Worde?
Например графики?
...
Рейтинг: 0 / 0
31.05.2006, 09:59
    #33762345
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Рисование. Смотри коллекцию Shapes и объект Shape. В справке есть примеры созданий.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Public Sub DrawLine()
    Dim wdApp As Word.Application
    Dim wdDoc As Word.Document
    Dim wdLine As Word.Shape
    
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True
    
    Set wdDoc = wdApp.Documents.Add
    
    ' Добавляем линию в документ.
    Set wdLine = wdDoc.Shapes.AddLine( 100 ,  100 ,  200 ,  200 )
    
    ' Форматируем линию.
    With wdLine.Line
        .BeginArrowheadStyle = msoArrowheadNone
        .EndArrowheadStyle = msoArrowheadTriangle
        .ForeColor.RGB = RGB( 255 ,  0 ,  0 )
    End With
    
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub

Если хочешь воспользоваться возможностью построения полноценных графиков, то придется внедрять объекты Диаграмма MS Excel или Диаграмма MS Graph. См. метод AddOLEObject.
...
Рейтинг: 0 / 0
31.05.2006, 10:57
    #33762578
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Почемуто не могу открыть документ Word

Option Explicit
Dim objWord As Word.Application
Dim objDoc As Word.Document

Private Sub Command1_Click()
Set objWord = New Word.Application
objWord.Visible = True
Set objDoc = objWord.Documents.Add
End Sub

Выдает сообщение об ошибке

User-defined type not defined

указывая на строку Dim objWord As Word.Application
...
Рейтинг: 0 / 0
31.05.2006, 11:22
    #33762697
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Подключи библиотеку "Microsoft Word Object Library" в Project->References...
...
Рейтинг: 0 / 0
31.05.2006, 11:35
    #33762760
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Большое спасибо!
...
Рейтинг: 0 / 0
31.05.2006, 15:33
    #33763693
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Сначала в документе пишу текст.
За ним распологаю таблицу.
А она стирает предыдущий текст и рисуется в начале документа.



.InsertAfter "Табл.1"
.InsertParagraphAfter
.EndOf

Dim objtbl As Word.Table
Dim objRng As Word.Range

Set objRng = objDoc.Range

Set objtbl = objDoc.Tables.Add(Range:=objRng, _
NumRows:=7, NumColumns:=9)

objtbl.Cell(1, 1).Range.Text = "Проба"
...
Рейтинг: 0 / 0
31.05.2006, 16:16
    #33763876
by-pass
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
на сайте
http://]www.by-pass@narod.ru
в разделе "разработки для VB"
есть пример генерации таблицы в Worde из VB

Успехов!
...
Рейтинг: 0 / 0
31.05.2006, 16:36
    #33763958
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Public Sub CreateTable()
    Dim wdApp As Word.Application
    Dim wdDoc As Word.Document
    Dim wdTbl As Word.Table
    Dim wdRng As Word.Range
    
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True
    
    Set wdDoc = wdApp.Documents.Add
    Set wdRng = wdDoc.Range
    
    wdRng.Text = "Табл.1"
    ' Или так.
    'wdRng.InsertAfter "Табл.1"
    wdRng.InsertParagraphAfter
    wdRng.Collapse Direction:=wdCollapseEnd
    
    Set wdTbl = wdDoc.Tables.Add(Range:=wdRng, _
      NumRows:= 7 , NumColumns:= 9 )
      
    wdTbl.Cell( 1 ,  1 ).Range.Text = "Строка1 Столбец1"
    
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub
...
Рейтинг: 0 / 0
31.05.2006, 16:59
    #33764054
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Большое спасибо, с предыдущим вопросом разобрался.
Теперь не могу выйти из ражима таблици чтобы продолжать после
таблици выводить текст.
...
Рейтинг: 0 / 0
01.06.2006, 09:25
    #33765015
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Sub CreateTable()
    Dim wdApp As Word.Application
    Dim wdDoc As Word.Document
    Dim wdTbl As Word.Table
    Dim wdRng As Word.Range
    
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True
    
    Set wdDoc = wdApp.Documents.Add
    Set wdRng = wdDoc.Range

    wdRng.InsertAfter "Табл.1"
    wdRng.InsertParagraphAfter
    wdRng.Collapse Direction:=wdCollapseEnd
    
    Set wdTbl = wdDoc.Tables.Add(Range:=wdRng, _
      NumRows:= 7 , NumColumns:= 9 )
      
    wdTbl.Cell( 1 ,  1 ).Range.Text = "Строка1 Столбец1"
    
    Set wdRng = wdTbl.Range
    
    wdRng.Collapse Direction:=wdCollapseEnd
    wdRng.InsertParagraphAfter
    wdRng.InsertAfter "Текст после таблицы"
    
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub
...
Рейтинг: 0 / 0
01.06.2006, 11:40
    #33765361
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Большое спасибо, все заработало.
Еще один вопрос-
У меня на форме в PictureBox рисуется
график, нельзя ли PictureBox как
картинку вставить(перенести) в Wordовский документ?
...
Рейтинг: 0 / 0
01.06.2006, 11:51
    #33765400
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Попробуй так.

Код: plaintext
1.
2.
3.
4.
5.
6.
    Picture1.AutoRedraw = True
    Picture1.SavePicture Picture1.Image, "D:\1\Pic.bmp"

    wdDoc.InlineShapes.AddPicture _
      FileName:="D:\1\Pic.bmp", _
      LinkToFile:=False, _
      SaveWithDocument:=True
...
Рейтинг: 0 / 0
01.06.2006, 13:46
    #33765933
Dkflvbh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
Спасибо, отлично.
Только рисунок кидается в начало документа, а не тутда гда стоит курсор
после последнаго вывода текста. Почему?
...
Рейтинг: 0 / 0
01.06.2006, 15:03
    #33766223
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
В методе AddPicture есть параметр Range, соответсвенно наш окончательный код будет выглядить следующим образом.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Public Sub CreateTable()
    Dim wdApp As Word.Application
    Dim wdDoc As Word.Document
    Dim wdTbl As Word.Table
    Dim wdRng As Word.Range
    
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True
    
    Set wdDoc = wdApp.Documents.Add
    Set wdRng = wdDoc.Range

    wdRng.InsertAfter "Табл.1"
    wdRng.InsertParagraphAfter
    wdRng.Collapse Direction:=wdCollapseEnd
    
    Set wdTbl = wdDoc.Tables.Add(Range:=wdRng, _
      NumRows:= 7 , NumColumns:= 9 )
      
    wdTbl.Cell( 1 ,  1 ).Range.Text = "Строка1 Столбец1"
    
    Set wdRng = wdTbl.Range
    
    wdRng.Collapse Direction:=wdCollapseEnd
    wdRng.InsertParagraphAfter
    wdRng.InsertAfter "Текст после таблицы"
    
    wdRng.InsertParagraphAfter
    wdRng.Collapse Direction:=wdCollapseEnd
    
    wdDoc.InlineShapes.AddPicture _
      Filename:="D:\1\1.bmp", _
      LinkToFile:=False, _
      SaveWithDocument:=True, _
      Range:=wdRng
    
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub
...
Рейтинг: 0 / 0
25.02.2007, 10:23
    #34353260
NWH
NWH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблици из VB в Worde
ПОДСКАЖИТЕ ПОЖАЛУЙСТА КАК МОЖНО СДЕЛАТЬ ТАК ЧТОБ ПОСТРОЕНУЮ В EXCELE ДИАГРАММУ ПЕРЕНЕСТИ В VB
БУДУ ОЧ ПРИЗНАТЕЛЬНА А ТО Я В ЭТОМ ДУБ!
СПАСИБО
Модератор: Предупреждение. Не форсируйте звук. Злоупотребление капсом - дурной тон, крики о помощи в чужих топиках - тем более. У вас есть топик с этой темой, огранчтесь им. Если нужно, поднимите топик наверх послав новое сообщение.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Создание таблици из VB в Worde / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]