Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: OBJECT in excel = Word-document wegschrijven naar PDF  (gelezen 6598 keer)

0 leden en 1 gast bekijken dit topic.

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
OBJECT in excel = Word-document wegschrijven naar PDF
« Gepost op: 29 november 2020, 17:49:39 »
Een vraag en ik heb al heel wat zitten zoeken maar vond niks  :glare:
Ik heb in een van mijn excel-bestanden een OBJECT zitten naar een Word-document.  Super gemakkelijk vind ik dat want als ik iets aanpas in het origineel wordt dit hier ook aangepast. :thumbsup:

Nu stel ik me de vraag of je dit d.m.v. een knop (macro) kan wegschrijven naar een pdf op de C:\JVC

Het zou makkelijk zijn als je hier iets in veranderd via het OBJECT in Excel dat je deze dan ook iedere keer als pdf kan opslaan onder dezelfde naam, dus ook vervangen na YesNo vraag.

In bijlage een voorbeeld. 
Mvg, Janna

[Office 2019]

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #1 Gepost op: 19 december 2020, 00:45:11 »
Dag excel-ers  :D

Omdat ik geen antwoord kreeg op mijn vraag ben ik op een ander forum eens gaan horen.  Daar heeft Joske mij zeer goed geholpen met een werkende code.
https://www.excelforum.com/excel-programming-vba-macros/1335258-embedded-oleobject-word-in-excel-export-to-pdf-after-changing-it.html#post5441893

Hieronder de code:
Private Sub CommandButton1_Click()

' OpslaanNaarPDF Macro

   Dim Oobj As OLEObject, obj As Object, FilePath As String, FileExists As String

   Blad1.Shapes.Range(Array("Object 9")).Select      '' Naam object tussen de 2 aanhalingstekens veranderen indien nodig
   'Selection.Verb Verb:=xlOpen
   FilePath = "C:\JVC\HHR.pdf"
   Set Oobj = Selection
   
   Oobj.Activate
   
   Blad1.Activate
   Blad1.Cells(1, 1).Select
   
   Set obj = Oobj.Object

   FileExists = Dir(FilePath)
   If FileExists <> "" Then
      FilePath = InputBox("Bestand bestaat reeds, Geef de naam op die je wenst te gebuiken", "Opgelet bestand bestaat reeds", FilePath)
   End If
   
   obj.SaveAs2 FilePath, 17

End Sub
Mvg, Janna

[Office 2019]

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.116
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #2 Gepost op: 19 december 2020, 09:52:32 »
Bedankt voor het melden Jannacy  :thumbsup:

Blij dat je geholpen bent.

Groeten,

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #3 Gepost op: 19 december 2020, 20:39:26 »
Graag gedaan  :D
Ik vind het ook heel erg belangrijk om een forumvraag netjes af te sluiten zodat iedereen er wat aan heeft :-)

maar, nu zit ik hieromtrent toch wel met een nieuw probleem.  Misschien kan iemand mij hier ook mee helpen?

Ik zet het bestand even in bijlage:

Op het tabblad "basisgegeven" vind je het object.  Bij het uitvoeren van het script achter deze knop geeft Visual Basic de foutmelding 4605 tijdens uitvoering: de SaveAs2-methode of -eigenschap is niet beschikbaar omdat dit doucment wordt bewerkt in een andere toepassing.

Het is zo dat ik het document wat ik wil opslaan ook in een ander script zit om toe te voegen aan de mail.

Wat kan ik hiermee?
De foutopsporing markeert:
obj.SaveAs2 FilePath, 17
Mvg, Janna

[Office 2019]

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.116
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #4 Gepost op: 19 december 2020, 22:28:53 »
Hallo jannacy,

ik vermoed dat je het Word-document altijd eerst moet sluiten.

Mogelijk met iets als een code als:

Dim Winword As Object
Set Winword = CreateObject("Word.Document")
Winword.Application.Quit

Als je eerst iets wil doen met het Word-doc dan kan je eerst opslaan, dan sluiten, aanhangen als bijlage en terug openen.

    'Open het document
    Set wrdDoc = wrdApp.Documents.Open(Filename:="C:\Documenten\MijnDocument.docx")
    ' Doe iets met het document
    wrdDoc.Content.InsertParagraphAfter
    wrdDoc.Content.InsertAfter "Dit is een extra paragraaf."
    ' Sluit en bewaar het document
    wrdDoc.Close SaveChanges:=True

Het zijn maar tips, de specialisten slapen al, maar morgen zijn ze weer fris  ;D

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #5 Gepost op: 20 december 2020, 00:02:43 »
Dankjewel SoftAid voor de tips. Hiermee ben ik nog even aan de slag gegaan. 
Verrassend genoeg zag ik dat ik in het script iets over het hoofd had gezien.   :-[ 
Ik zet het script er nog eens bij:
Private Sub OpslaanAlsPDF_click()
' OpslaanNaarPDF Macro
   Dim Oobj As OLEObject, obj As Object, FilePath As String, FileExists As String
   Blad4.Shapes.Range(Array("Object 4")).Select      'Blad en Object aanpassen     'Selection.Verb Verb:=xlOpen
   FilePath = "C:\JVC\HHR.pdf"                       'Adres aanpassen indien nodig
   Set Oobj = Selection
   Oobj.Activate
   Blad4.Activate                                 'Blad* aanpassen indien nodig
   Blad4.Cells(1, 1).Select                       'Blad* aanpassen indien nodig
   Set obj = Oobj.Object
   FileExists = Dir(FilePath)
   If FileExists <> "" Then
      FilePath = InputBox("Geef naam/adres in die je wilt gebruiken", "Opgelet bestand bestaat al", FilePath)
   End If
   obj.SaveAs2 FilePath, 17                    '17=PDF
End Sub

Mvg, Janna

[Office 2019]

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #6 Gepost op: 20 december 2020, 00:23:26 »
Opnieuw een issue rond deze code.
Als ik op annuleren klik geeft hij een foutmelding

Fout 4198 tijdens uitvoering:
Door de toepassing of door object gedefinieerde fout.

Hier ontbreekt precies nog iets  :-\

Mvg, Janna

[Office 2019]

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.275
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #7 Gepost op: 20 december 2020, 11:30:23 »
Ongetest en je bestand niet geopend....
Ik zou zeggen dat je onder dit deel...
     FilePath = InputBox("Bestand bestaat reeds, Geef de naam op die je wenst te gebuiken", "Opgelet bestand bestaat reeds", FilePath)
   End If 
...iets van...
if filepath = nothing then exit sub
______________________________

Groet, Leo

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #8 Gepost op: 20 december 2020, 13:21:43 »
Dankjewel RedHead
Dit helpt helaas niet.
Foutmelding: Ongeldig gebruik van object
Mvg, Janna

[Office 2019]

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.116
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #9 Gepost op: 20 december 2020, 13:38:28 »
Jannacy,

toon eens hoe je de code van RedHead hebt gebruikt!

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #10 Gepost op: 20 december 2020, 14:18:57 »
ok, in bijlage een foto met foutmelding
Mvg, Janna

[Office 2019]

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #11 Gepost op: 20 december 2020, 14:32:26 »
SoftAid,
ik heb mijn vraag ook nog eens gesteld aan de persoon die me eerst geholpen had.  Hij heeft vrijwel onmiddellijk geantwoord.

Dit is de volledig werkende code:
Private Sub OpslaanAlsPDF_click()
' OpslaanNaarPDF Macro

Dim Oobj As OLEObject, obj As Object, FilePath As String, FileExists As String
Blad4.Shapes.Range(Array("Object 4")).Select      'Blad* en Object* aanpassen     
'Selection.Verb Verb:=xlOpen
FilePath = "C:\JVC\HHR.pdf"                       'Adres aanpassen indien nodig
Set Oobj = Selection
Oobj.Activate
Blad4.Activate                                 'Blad* aanpassen indien nodig
Blad4.Cells(1, 1).Select                       'Blad* aanpassen indien nodig
Set obj = Oobj.Object
FileExists = Dir(FilePath)
If FileExists <> "" Then
    FilePath = InputBox("Geef naam/adres in die je wilt gebruiken", "Opgelet bestand bestaat al", FilePath)
End If

If FilePath = vbNullString Then Exit Sub

   obj.SaveAs2 FilePath, 17                    '17=PDF

End Sub

Bedankt voor de hulp allemaal.  Hopelijk leert iedereen hier weer van bij
Mvg, Janna

[Office 2019]

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.116
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #12 Gepost op: 20 december 2020, 14:47:48 »
Hallo Jannacy,

je helper heeft de "uit de losse pols"-code van RedHead
If FilePath = Nothing Then Exit Sub
aangepast naar:
If FilePath = vbNullString Then Exit SubDe foutmelding toonde reeds waar het zat.
Blij dat dit weer opgelost is.

Kan je nog een copy van je huidig bestand met alle verbeteringen aanhangen?
De afwerking om te kiezen tussen Outlook en Thunderbird leek me toch beter te kunnen.

Groeten,

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline jannacy

  • Lid
  • *
  • Berichten: 65
  • Geslacht: Vrouw
  • Oplossing.be
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #13 Gepost op: 20 december 2020, 15:03:31 »
ok, in bijlage een kopie van het werkend bestand.

Ik doe echt mijn best om alles netjes af te werken hoor !
Mvg, Janna

[Office 2019]

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.116
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: OBJECT in excel = Word-document wegschrijven naar PDF
« Reactie #14 Gepost op: 20 december 2020, 15:37:49 »
Ik doe echt mijn best om alles netjes af te werken hoor !
Dat weet ik wel, ik was maar aan het plagen  ;D ;D

ziet er goed uit. Zal het straks eens testen....

Groeten,

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

 


www.combell.com