powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OLE.Word. Связь с таблицей в Word.
8 сообщений из 8, страница 1 из 1
OLE.Word. Связь с таблицей в Word.
    #39385082
Brambeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста новичку, код связи (данных с формы) с таблицей внедренной в OLE(Word) объект.
В форме есть данные, которые нужно вставить в ячейки таблицы OLE -объекта.

Private Sub Command1_Click()
OLE1.DoVerb
?????????????

Бланк связи см. в прикреплении.
Очень буду признателен!!!
...
Рейтинг: 0 / 0
OLE.Word. Связь с таблицей в Word.
    #39385293
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Brambeus, я так понял, приложенный файл это OLE(Word) объект ?
А куда он внедрен - в другой документ Word или в документ другого типа?
Пример работы с документом Word, внедренным в Excel: http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=65091
Ну а с таблицей просто: если wd - ссылка на этот документ, то
Код: vbnet
1.
wd.Tables(1).Cell(2,1).Range.Text ="hello!"
...
Рейтинг: 0 / 0
OLE.Word. Связь с таблицей в Word.
    #39385484
Brambeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский, огромное Человеческое спасибо!!!
Используя Вашу подсказку в коде получилось вставить данные в таблицу.

Отвечая на вопрос о месте размещения - OLE(Word) внедрен в виде значка в форму VB - Form.frm

Для решения своей задачи у меня остался только один вопрос - как вставить текст в именованное
место бланка с текстом, либо между словами в нужной строке?
Не в начале и не в конце существующей строки, а скажем между 9-ой и 10-ой строкой? В середине строки? После слова "Вася"?
Ниже приведенный код не работает, каким кодом можно заменить "MoveDown", "MoveRight"?

Private Sub Command1_Click()
OLE1.DoVerb
Set oDoc = OLE1.object

With oDoc.ActiveWindow.Selection
.MoveDown Unit:=wdLine, Count:=4
.MoveRight Unit:=wdCharacter, Count:=15
.TypeText Text:="Hello!"
End With
End Sub
...
Рейтинг: 0 / 0
OLE.Word. Связь с таблицей в Word.
    #39385667
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brambeus,
Точно не помню, но вроде можно расставить в документе букмарки или закладки и выводить нужный текст в эти позиции.
...
Рейтинг: 0 / 0
OLE.Word. Связь с таблицей в Word.
    #39385767
Brambeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
by-pass! Спасибо за подсказку! Разобрался.

Установил закладки в OLE(Word) объекте. Передал текст в закладки следующим кодом:
Set WD = OLE2.object
WD.Bookmarks("Par1").Range.Text = " Ок"
WD.Bookmarks("Par2").Range.Text = " hello"

В случае с файлом Word, сохраненным средствами данного приложения, затем открытым
из формы программы - каким кодом можно извлечь обратно содержание из закладок (Bookmarks)
и передать допустим в TextBox, размещенный на форме приложения (Form)?

Нижеприведенным кодом ничего не получается.
Dim tt As String
tt = WD.Bookmarks("Par1").Range.Text
Form1.Text1 = tt

'или
Form1.Text1=WD.Bookmarks("Par1").Range.Text
...
Рейтинг: 0 / 0
OLE.Word. Связь с таблицей в Word.
    #39385783
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
OLE.Word. Связь с таблицей в Word.
    #39385862
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brambeus,
Правда делал в vb 2010, возможно есть нюансы.
Код: vbnet
1.
2.
            doc.Bookmarks("yr").Select()
            wrd.Selection = Format(Now, "yyyy")
...
Рейтинг: 0 / 0
OLE.Word. Связь с таблицей в Word.
    #39386030
kos20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brambeus, держи.
Обновляет таблички OLE EXCEL в Ворде.

Код: vbnet
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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
Public Sub changeSource()
 
Set MyRange = ActiveDocument.Content
MyRange.Find.Execute FindText:="<Дата>", ReplaceWith:=Format(Date, "dd/mm/yyyy"), Replace:=wdReplaceAll
 
 
Dim dlgSelectFile As FileDialog 'FileDialog object '
Dim thisField As Field
Dim selectedFile As Variant
'must be Variant to contain filepath of selected item
Dim newFile As Variant
Dim fieldCount As Integer '
Dim x As Long
On Error GoTo LinkError
'create FileDialog object as File Picker dialog box
Set dlgSelectFile = Application.FileDialog(FileDialogType:=msoFileDialogFilePicker)
With dlgSelectFile
  .Filters.Clear 'clear filters
  .Filters.Add "Microsoft Excel Files", "*.xls, *.xlsb, *.xlsm, *.xlsx" 'filter for only Excel files
  'use Show method to display File Picker dialog box and return user's action
  If .Show = -1 Then
    'step through each string in the FileDialogSelectedItems collection
    For Each selectedFile In .SelectedItems
      newFile = selectedFile 'gets new filepath
    Next selectedFile
  Else 'user clicked cancel
    Exit Sub
  End If
End With
Set dlgSelectFile = Nothing
'update fields
With ActiveDocument
  fieldCount = .Fields.Count
  For x = 1 To fieldCount
    With .Fields(x)
      'Debug.Print x '
      Debug.Print .Type
      If .Type = 56 Then
        'only update Excel links. Type 56 is an excel link
        .LinkFormat.SourceFullName = newFile '
        .Update
        .LinkFormat.AutoUpdate = False
        DoEvents
      End If
    End With
  Next x
End With
MsgBox "Данные успешно обновлены"
Exit Sub
LinkError:
Select Case Err.Number
  Case 5391 'could not find associated Range Name
    MsgBox "Could not find the associated Excel Range Name " & _
      "for one or more links in this document. " & _
      "Please be sure that you have selected a valid " & _
      "Quote Submission input file.", vbCritical
  Case Else
    MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical
End Select
End Sub
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OLE.Word. Связь с таблицей в Word.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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