Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Импорт данных с Word Form в Excel через макрос / 2 сообщений из 2, страница 1 из 1
20.10.2016, 23:18
    #39331118
maxzag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных с Word Form в Excel через макрос
Столкнулся с проблемой при импорте данных с Word Form в Excel через макрос.
Все текстовые данные импортируются успешно, но проблема в изъятии данных из checkbox.
Прикрепляю скриншоты и код.
Код: 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.
Sub GetFormData()
     'Note: this code requires a reference to the Word object model
    Application.ScreenUpdating = False
    Dim wdApp As New Word.Application
    Dim wdDoc As Word.Document
    Dim FmFld As Word.FormField
    Dim strFolder As String, strFile As String
    Dim WkSht As Worksheet, i As Long, j As Long
    strFolder = GetFolder
    If strFolder = "" Then Exit Sub
    Set WkSht = ActiveSheet
    i = WkSht.Cells(WkSht.Rows.Count, 1).End(xlUp).Row
    strFile = Dir(strFolder & "\*.doc", vbNormal)
    While strFile <> ""
        i = i + 1
        Set wdDoc = wdApp.Documents.Open(Filename:=strFolder & "\" & strFile, AddToRecentFiles:=False, Visible:=False)
        With wdDoc
            j = 0
            For Each FmFld In .FormFields
                j = j + 1
                WkSht.Cells(i, j) = FmFld.Range.Text
            Next
        End With
        wdDoc.Close SaveChanges:=False
        strFile = Dir()
    Wend
    wdApp.Quit
    Set wdDoc = Nothing: Set wdApp = Nothing: Set WkSht = Nothing
    Application.ScreenUpdating = True
End Sub
 
Function GetFolder() As String
    Dim oFolder As Object
    GetFolder = ""
    Set oFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Choose a folder", 0)
    If (Not oFolder Is Nothing) Then GetFolder = oFolder.Items.Item.Path
    Set oFolder = Nothing
End Function

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub


...
Рейтинг: 0 / 0
20.10.2016, 23:38
    #39331123
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных с Word Form в Excel через макрос
maxzag, вместо FmFld.Range.Text используйте FmFld.Result - чекбокс даст 0 или 1.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Импорт данных с Word Form в Excel через макрос / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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