У меня, казалось бы, тривиальная задача VBA. Однако я обычно не использую VBA и почти никогда в контексте Microsoft Word. У меня есть форма Word, в которой используются поля Content Control (а также несколько переключателей ActiveX), и мне нужно протестировать ее, распечатав отметку времени и заполненные записи формы в файл с разделителями-запятыми. Когда я запускаю следующий код:
Sub WriteToText()
Dim DataFile As String
Dim StrData As String
Dim CCtrl As ContentControl
Dim bControl_Exists As Boolean
DataFile = "C:\Users\Annabanana\Documents\Data.txt"
StrData = "": Open DataFile For Append As #1
StrData = Format(Now, "DD-MMM-YYYY hh:mm:ss")
With Application.ActiveDocument
bControl_Exists = .Saved
For Each CCtrl In ThisDocument.ContentControls
With CCtrl
Select Case .Type
Case Is = wdContentControlCheckBox
StrData = StrData & "," & .Checked
Case wdContentControlDate, wdContentControlDropdownList, wdContentControlComboBox, wdContentControlText
StrData = StrData & "," & .Range.Text
Case Else
End Select
End With
Next
End With
Print #1, StrData: Close #1
End Sub
Я получаю дату, но ничего больше. В идеале я хотел бы в конечном итоге распечатать теги полей и их соответствующие значения как таковые:
Tag1 Value1 Tag2 Value2 Tag3 Value3 .............
В конце концов, все они будут напечатаны в базе данных, но на данный момент я просто хочу увидеть, как данные выходят из формы и как мне нужно преобразовать их перед загрузкой. Любые советы высоко ценится. Спасибо.