Toon posts:

[VBA] Document zonder VBA code opslaan?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een soort template-document gemaakt met formuliervelden en VBA code erin verwerkt. De gebruiker dient dit formulier geheel in te vullen waarna het onder een andere naam opgeslagen wordt. Nu is het me wel gelukt alle formuliervelden met het opslaan te verwijderen.. de inhoud blijft dan gewoon als platte tekst over. Prima. Maar telkens wordt wel de gehele VBA code meegenomen naar dat nieuwe document. Dit is helemaal niet nodig en ook niet wenselijk.. het enige dat ik wil uiteindelijk is een plat Word document.. zonder formuliervelden en zonder VBA code. Nu heb ik al geprobeerd het in RTF formaat op te slaan, maar ook dan wordt de VBA code gewoon meegenomen. Heeft iemand voor mij een oplossing om bij het SaveAs ofzo alle VBA code (macro's) te strippen zeg maar, zodat alleen platte tekst overblijft. Moet wel in Word ( '97 :( ) formaat blijven. Bedankt alvast!!

  • jjbstolk
  • Registratie: September 2001
  • Laatst online: 23:10
Ik zou even wordpad openen, dan in word alles selecteren en kopieren naar wordpad en dan oplaan.

Ik deed eht altijd naar notepad maar dan ben ej wel alle opmaakt kwijt.

Suc6

Verwijderd

Topicstarter
Okay.. bedankt voor je snelle reactie :) .. maar alles moet intern binnen dat template-document geregeld worden. Wordpad neemt idd geen VBA code mee, maar deze interactie tussen diverse programma's is geen optie. Ik heb dat template-document dus en op een gegeven moment wordt er binnen de VBA code een functie aangeroepen, die de huidige inhoud van de formuliervelden en de gehele overige opmaak opslaat als platte tekst (wel Word formaat) met een SaveAs actie, maar die helaas met die SaveAs actie ook alle VBA code uit het template-document mee-saved.. Dus ik zoek naar een stukje VBA code die in combinatie met de SaveAs actie ervoor zorgt dat de oorspronkelijke VBA code niet mee-gesaved wordt.

  • Digihelp ®
  • Registratie: Maart 2001
  • Laatst online: 25-08 10:10
Kan je niet gewoon in je VBA code een nieuw word bestand aanmaken, en dan daar de tekst uit je formulieren in zetten, en vervolgens opslaan onder de gewenste naam?

Dan hoef je je template bestand helemaal niet te veranderen of op te slaan :)

Verwijderd

Ik heb even Word erbij gepakt en gekeken. Het is heel logisch en ook heel makkelijk imho.
Waarschijnlijk heb je nu de code onder het Project (Documentnaam) geplaatst.
Als je deze code verplaatst naar de normal.dot dan zal de code niet worden opgeslagen bij je document.

Verwijderd

Topicstarter
Okay :) Dit is een lekkere stap vooruit! Inderdaad, wanneer ik de VBA code onder Normal.dot stop, wordt ie niet meegenomen in het ge-save-de document!! Yes! Maar wanneer ik het moeder-document op andere PC's plaats.. moet dan ook niet de Normal.dot mee? Zo ja, dan moet ik toch een andere oplossing zoeken, want het is de bedoeling het document wijd verspreid te kunnen gebruiken en dan zonder overal de normal.dot ook extra aan te moeten passen OF het moet automatisch kunnen..

Misschien dat die oplossing met het opstellen van een nieuw Word document werkt.. zoiets als eerst in het geheugen aanmaken met volledige layout kopieren en dan inhoud en zonder de VBA code, en dan uiteindelijk het document uit het geheugen te saven op de schijf. Ik ga het proberen in ieder geval.. hoe weet ik nog nie, heb helaas nog totaal geen ervaring met VBA enzo.. wel programmeren gelukkig, maar niet in een Visual Basic omgeving. Maar goed.. we gaan ervoor! :)

Bedankt in ieder geval voor de hulp tot nu toe!! Wordt heel erg op prijs gesteld! *D

Verwijderd

Op woensdag 27 februari 2002 09:31 schreef inzeen het volgende:
Okay :) Dit is een lekkere stap vooruit! Inderdaad, wanneer ik de VBA code onder Normal.dot stop, wordt ie niet meegenomen in het ge-save-de document!! Yes! Maar wanneer ik het moeder-document op andere PC's plaats.. moet dan ook niet de Normal.dot mee? Zo ja, dan moet ik toch een andere oplossing zoeken, want het is de bedoeling het document wijd verspreid te kunnen gebruiken en dan zonder overal de normal.dot ook extra aan te moeten passen OF het moet automatisch kunnen..

Misschien dat die oplossing met het opstellen van een nieuw Word document werkt.. zoiets als eerst in het geheugen aanmaken met volledige layout kopieren en dan inhoud en zonder de VBA code, en dan uiteindelijk het document uit het geheugen te saven op de schijf. Ik ga het proberen in ieder geval.. hoe weet ik nog nie, heb helaas nog totaal geen ervaring met VBA enzo.. wel programmeren gelukkig, maar niet in een Visual Basic omgeving. Maar goed.. we gaan ervoor! :)

Bedankt in ieder geval voor de hulp tot nu toe!! Wordt heel erg op prijs gesteld! *D
Het ligt er net aan. Als je document alleen getoond kan worden met de VBA-code dan zul je idd. de normal.dot mee moeten leveren en dat lijkt me idd. niet een elegante oplossing.

Ik zou gewoon zeggen: probeer het eens en zie wat er gebeurd. Je kunt natuurlijk wel 'stukjes' code meeleveren die je document gebruikt (een soort evenwicht tussen normal.dot en je .doc) gebruiken. Waarschijnlijk heb je je code niet mee te leveren.

Verwijderd

Topicstarter
Ik ben nu een poging aan het wagen door het moeder-document als Template aan te maken. In combinatie met een UserForm worden de benodigde gegevens gevraagd dan. Met behulp van bookmarks binnen het moeder-document worden deze vervolgens op de juiste plek gezet, en het nieuwe document is ook echt een nieuw document dan. Na het SaveAs gebeuren heb ik uiteindelijk een Word documentje zonder wat voor VBA code dan ook, die code blijft geheel binnen de template. Ik hoop dat dit echter is wat ik zoek.. vooralsnog ben ik geen problemen tegengekomen en denk ik dus de oplossing gevonden te hebben :) .. denk ik dan he.. ;) .. nu nog ff de opdrachtgever afwachten ("gadver.. moet dat nu met zo'n formuliertje?! .. kan dat niet anders?" .. "NEE!") hehe.

Bedankt voor de hulp en tips!
Pagina: 1