Opslaan als pdf, macro werkt thuis wel, op mijn werk niet

Status
Niet open voor verdere reacties.

corvdh

Gebruiker
Lid geworden
29 aug 2010
Berichten
128
Ik heb een Excel document waarbij ik via een macro een werkblad opsla als PDF bestand.

Thuis werkt deze macro goed, maar op mijn werk niet.
Ik krijg dan de volgende foutmelding:

Run-time error ’2147417848 (800 10 108)’:
Automationerror
The object invoked has disconnected from its clients.

Als ik op Debug klik word de hele macro geel gemarkeerd.
Kan het zijn dat als ik thuis een andere office versie dan op mijn werk gebruik dit problemen kan geven? (thuis 2019, werk (diverse computers) 2016, 2019,365)

Dit is de macro:

Code:
Sub Opslaan_als_pdf()

       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
       Filename:=ActiveWorkbook.Path & "\Template shipment document Week " & Range("M1") & ".pdf", _
       Quality:=xlQualityStandard, _
       IncludeDocProperties:=True, _
       IgnorePrintAreas:=False, _
       OpenAfterPublish:=True

End Sub

De verwijzing naar cel M1 in de macro is omdat daar Weeknummer, datum en tijd staat die zo word meegenomen in de bestandsnaam.


Iemand enig idee dit op te lossen?
 
Lijkt mij een rechtenkwestie. De hele macro bestaat maar uit 1 regel dus vandaar dat alles geel wordt. Zet even ActiveWorkbook.Path in een variabele en kijk of je erbij kan. Er wordt binnen bedrijven steeds vaker gebruik gemaakt van Sharepoint en Onedrive en dat steekt allemaal iets anders in elkaar dan de ouderwetse mappenstructuur.
 
Er wordt binnen bedrijven steeds vaker gebruik gemaakt van Sharepoint en Onedrive en dat steekt allemaal iets anders in elkaar dan de ouderwetse mappenstructuur.

Zeker waar. Activeworkbook.path komt dan met een sharepoint/onedrive path, die je niet eigenlijk niet wilt hebben. Verder kan een tijd(door de dubbele punt) niet als bestandsnaam worden gebruikt.
 
Laatst bewerkt:
Ik open deze file om te testen vanaf usb stick, zowel thuis als op het werk.
Als we op het werk het Excelbestand in gebruik gaan nemen zal iedere gebruiker het op zijn eigen computer opslaan en openen.
Nu zijn ze op mijn werk wel bezig iedereen die nog een 32 bit office versie heeft over te zetten naar een 64 bit versie.
Ik heb begrepen dat vba code niet altijd geschikt is voor beide versies?

In cel M1 staat trouwens de volgende formule: =WEEKNUMMER(VANDAAG();21) & " " & TEKST(NU();" DD-MM-JJJJ uu_mm")
Als ik de file thuis opsla als pdf geeft dit de volgende bestandsnaam: Template shipment document Week 33 17-08-2021 01 18.pdf

Thuis gebruik ik een Nederlandse office en op mijn werk een Engelse versie, ik weet niet of dat nog wat uit maakt?
 
Probeer eens wat Vena zei.
Kijk eens wat activeworkbook.path teruggeeft.

a=activeworkbook.path
 
Iets minder lui (meer letters): Msgbox activeworkbook.path
 
Het idee was duidelijk
 
Gebruik in codes die betrekking hebben op je werkboek waar de code instaat ook geen 'ActiveWorkbook' maar 'ThisWorkbook'.
 
Ik ben nog aan het testen dus open ik het bestand thuis en op mijn werk nu nog vanaf USB stick.

De volgende regel in een macro gezet:
Msgbox activeworkbook.path

Geeft thuis als resultaat H:
Op mijn werk E:

Het is de bedoeling dat straks elke gebruiker het bestand in zijn of haar Mijn documenten map zet.
Het bestand zal niet via Sharepoint gebruikt worden.
 
Met een USB stick werk je nog steeds lokaal. Dus geeft geen enkele informatie over wat er fout gaat.
 
Je kunt met SpecialFolders heel simpel de Mijn documentenmap van elke gebruiker instellen als doelmap.
 
De altijd even duidelijke foutcode geeft aan dat je iets niet mag. Als je niet uitzoekt wat er niet niet mag kom je nergens.
 
Als je niet uitzoekt wat er niet niet mag kom je nergens.
Misschien een rare vraag, maar hoe kan ik dit uitzoeken?

Nu ben ik ook weer niet zo bekend met VBA als de meeste hier.
Ik dacht gewoon even iets aan de macro aanpassen en het probleem is opgelost, maar ik begrijp dat het iets ingewikkelder is?
 
Geeft thuis als resultaat H:
Op mijn werk E:

Het is de bedoeling dat straks elke gebruiker het bestand in zijn of haar Mijn documenten map zet.

Het bestand heb je ook eerst opgeslagen op de betreffende Pc's, de USB-stick verwijderd en daarna het bestand geopend en de code getest?
 
Het bestand heb je ook eerst opgeslagen op de betreffende Pc's, de USB-stick verwijderd en daarna het bestand geopend en de code getest?
Zo heb ik het bestand nog niet getest, ik zal dit morgen op mijn werk eens proberen.
 
Ik heb de macro op mijn werk op 2 verschillende computers getest, eerst het bestand in Mijn documentenmap gezet en usb stick verwijderd.

Werk Pc1 met Microsoft Office professional plus 2016 (Eng. versie 32 bit): Geeft zelfde fout zoals eerder omschreven.
Werk Pc2 met Microsoft 365 Apps for Enterprise (Eng. versie, 32 bit): Macro werkt prima.
Computer thuis met Microsoft Office professional plus 2019 (NL versie, 64 bits): Macro werkt prima

Wat kan ik nu nog doen om het op mijn werk op elke computer goed te laten werken?
 
Ik heb dit er over kunnen vinden en het werkte bij die persoon.

Voor de Pc waar het fout gaat.


  1. Open MS Excel (Any File or new file)
  2. Pull up Task Manager
  3. Click on MS Office or Excel Icon in Background Processes, Right click, and select properties
  4. Under Compatibility, Click "Run Compatibility Troubleshooter"
  5. When finished running, test file again, if it works right, click apply settings to this program. If it doesn't work, click next and choose from the options. (I chose that it worked in previous version of Windows (Windows 7) Then click Next again.
  6. Test file again, and it worked.
 
HSV,

Ik zal bovenstaande als ik na het weekend weer op mijn werk ben eens proberen.
 
Open MS Excel (Any File or new file)
Pull up Task Manager
Click on MS Office or Excel Icon in Background Processes...
Bovenstaande gedaan maar ik zie geen Excel of een Excel document in het rijtje staan bij de Background Processes.
Ik kon dit alles dus niet testen, of doe ik iets fout?
 
Open een bestaand bestand of open een nieuw bestand.
Ga naar de taakbalk (onderin) van Windows.
Klik met rechtermuis op de Excel map in de taakbalk en kies met rechtermuis voor MS Excel ???? en kies voor Eigenschappen.
Klik op Compatibiliteit en voor dan voor probleemoplosser.

Kijk eens of je daar uitkomt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan