Hallo. Voor het verwerken van vele schoolrapporten heb ik een word document met invulvelden en met knoppen dmv. VBA code "geautomatiseerd". Het actieve document met de macro's is opgeslagen als .docm.
Dmv. de knop "Opslaan als docx" (cmdDocx) wordt het document opgeslagen in een gedefinieerde map als .docx document. Als ik daarna het document met de knop "Email" (cmdEmail) wordt opgemaakt, waarbij het actieve document wordt geconverteerd naar een pdf-bijlage, krijg ik de foutmelding : Fout 2147467259 (80004005) tijdens uitvoering. Dit bestand kan niet worden opgeslagen omdat het alleen-lezen is. Als u de wijzigingen wilt behouden moet u het bestand opslaan met een nieuwe naam of een andere locatie.
Ik vermoed dat bij het opslaan met de knop "Opslaan als docx" de extensie van het actieve document definitief van .docm is gewijzigd naar .docx, wordt immers succesvol opgeslagen als docx document. Ook de documentnaam is aangepast. Als ik daarna een email wilt aanmaken met de knop "Email", dan wordt een foutmelding gegeven op het moment dat in de email subroutine de conversieregel van .docm naar pdf wordt uitgevoerd. Docx en docm "bijten" elkaar? Zou na het opslaan als docx de extensie eigenlijk weer teruggesteld moeten worden naar docm, maar hoe? Het oorspronkelijk document .docm moet als .docm op het scherm geopend blijven om een volgend rapport te kunnen maken!! Wat kan ik doen?
Dmv. de knop "Opslaan als docx" (cmdDocx) wordt het document opgeslagen in een gedefinieerde map als .docx document. Als ik daarna het document met de knop "Email" (cmdEmail) wordt opgemaakt, waarbij het actieve document wordt geconverteerd naar een pdf-bijlage, krijg ik de foutmelding : Fout 2147467259 (80004005) tijdens uitvoering. Dit bestand kan niet worden opgeslagen omdat het alleen-lezen is. Als u de wijzigingen wilt behouden moet u het bestand opslaan met een nieuwe naam of een andere locatie.
Ik vermoed dat bij het opslaan met de knop "Opslaan als docx" de extensie van het actieve document definitief van .docm is gewijzigd naar .docx, wordt immers succesvol opgeslagen als docx document. Ook de documentnaam is aangepast. Als ik daarna een email wilt aanmaken met de knop "Email", dan wordt een foutmelding gegeven op het moment dat in de email subroutine de conversieregel van .docm naar pdf wordt uitgevoerd. Docx en docm "bijten" elkaar? Zou na het opslaan als docx de extensie eigenlijk weer teruggesteld moeten worden naar docm, maar hoe? Het oorspronkelijk document .docm moet als .docm op het scherm geopend blijven om een volgend rapport te kunnen maken!! Wat kan ik doen?
Code:
Private Sub cmdDocx_Click()
Dim sPad As String
Dim PathName As String
Dim strFileName As String
sPad = "D:\" 'Pad naam
With Dialogs(wdDialogFileSaveAs)
PathName = sPad
.Name = sPad & txtNaam & "_" & "Grp" & "-" & txtGroep & "_" & txtDatum & ".docx"
.Format = wdFormatXMLDocument
.CompatibilityMode = 14
.Show
End With
' >>>>str FileName = Replace(ActiveDocument.FullName, ".docx", ".docm") Tijdelijk als test geprobeerd om terug te zetten naar .docm, maar werkt niet goed.
End Sub
Code:
Private Sub cmdEmail_Click()
Dim strFileName As String
Dim objOutlook As Object
Dim objMailItem As Object
strFileName = Replace(ActiveDocument.FullName, ".docm", ".pdf") 'Conversie van docm naar pdf bijlage, werk op zich goed maar niet na opslaan als docx. >>>>>foutmelding 2147467259
ActiveDocument.ExportAsFixedFormat OutputFileName:=strFileName, _
ExportFormat:=wdExportFormatPDF
Set objOutlook = CreateObject("Outlook.Application")
Set objMailItem = objOutlook.CreateItem(0) ' 0 = olMailItem
With objMailItem
.Subject = "Kijk! Lijst," & " " & "leerling" & " " & txtNaam
.Body = "Beste ouder(s) van" & " " & txtNaam & "," _
.To = txtemailadres
.Attachments.Add strFileName
.Display ' or .Send
End With
Kill strFileName
Set objMailItem = Nothing
Set objOutlook = Nothing
End Sub
Laatst bewerkt: