Я работаю над экспортом RTF (богатого текста) в поле memo в доступе 2010 к файлу слов с закладкой. Проблема в том, что для открытия документа Word необходимо два щелчка, а затем текст вставляется дважды. Я все еще не могу найти проблему.Два клика для создания текстового документа из формы доступа, с двойным богатым текстом, скопированным с использованием vba
Вот код:
Option Compare Database
Private Sub Comando72_Click()
'Saves the current record -->
Me.Dirty = False
Dim appWord As Word.Application
Dim doc As Word.Document
Dim objWord As Object '' Word.Application
Dim fso As Object '' FileSystemObject
Dim f As Object '' TextStream
Dim myHtml As String
Dim tempFileSpec As String
' grab some formatted text from a Memo field
myHtml = DLookup("DescripActivAEjecutarse", "PlanificacionServiciosInstitucionales", "IdPSI = Form!IdPSI")
Set fso = CreateObject("Scripting.FileSystemObject") '' New FileSystemObject
tempFileSpec = fso.GetSpecialFolder(2) & "\" & fso.GetTempName & ".htm"
'' write to temporary .htm file
Set f = fso.CreateTextFile(tempFileSpec, True)
f.Write "<html>" & myHtml & "</html>"
f.Close
Set f = Nothing
Set fso = Nothing
'Set appWord object variable to running instance of Word.
Set appWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
'If Word isn't open, create a new instance of Word.
Set appWord = New Word.Application
End If
'set the doc for future use.
Set doc = appWord.Documents.Open("C:\Users\earias\Documents\SOLICITUD-Yachay-automatica2.docx", , True) 'True default (just reading).
'locates bookmark and inserts file
appWord.Selection.GoTo what:=wdGoToBookmark, Name:="bookmark_1"
appWord.Selection.InsertFile tempFileSpec
Set doc = Nothing
Set appWord = Nothing
Exit Sub
errHandler:
MsgBox Err.Number & ": " & Err.Description
End Sub
Марк, спасибо вам за помощь. Я просто запускал «отладку по шагам» и выглядел так, как только кнопка нажата один раз, она запускается (печатает в непосредственном окне), но ничего не делает. Затем при нажатии снова запускается и появляется слово doc с двойными вставками. Если это будет решено, я могу попробовать метод слияния (или изменить его на ваш совет?). –
Хмм, я бы определенно предложил спуститься по маршруту слияния. Как только процесс настроен, все, что вы делаете при нажатии кнопки, обновляет запрос, связанный с документом слова, чтобы показать одну запись, которую вы хотите, и вуаля - ваш документ! –
Я обнаружил, что, если текстовый документ открыт, он создает новый один щелчок! Теперь мне нужно написать код, который делает это автоматически раньше. Пока не удача, но рядом ... –