Access crash bij vba-code

Status
Niet open voor verdere reacties.

samsoep

Nieuwe gebruiker
Lid geworden
11 sep 2008
Berichten
4
help help help

Access crashed telkens bij deze code. Heb me al suf gezocht. Heeft iemand een idee?

De bedoeling is om in een word-doc de html codes te verwijderen. Alles gaat goed tot ...

thanks


Private Sub VerwijderTags(Tag, Stijl)


Dim rngTemp As Range

Set rngTemp = docMaster.Content
With rngTemp.Find

.ClearFormatting :evil:
.Replacement.ClearFormatting
.MatchWholeWord = True
.Text = Tag
.Replacement.Style = Stijl
.Replacement.Text = " "

End With

rngTemp.Find.Execute Replace:=wdReplaceAll
 
Zou het ermee te maken kunnen hebben dat je aan een lege tekenreeks een stijl toekent ? De zin daarvan ontgaat me nl.
 
Zou het ermee te maken kunnen hebben dat je aan een lege tekenreeks een stijl toekent ? De zin daarvan ontgaat me nl.


Zal het even toelichten:
databank voor digitale steekkaarten
access zet databank om in html (passief)
acces zet databank ook om in Word - document (cursusmateriaal)

dus moeten de html-tags eruit!

Het heeft gewerkt onder 2003, eerst werkte het ook onder 2007 en nu plots niet meer!??

groeten en alvast dank voor het denkwerk
 
is dan de saveas constructie niet eenvoudiger

Code:
with getobject("E:\cursusboek1.htm")
  .saveas "E:\cursusboek1.htm",
  .saveas "E:\crusboek2.doc",1
end with
 
is dan de saveas constructie niet eenvoudiger

Code:
with getobject("E:\cursusboek1.htm")
  .saveas "E:\cursusboek1.htm",
  .saveas "E:\crusboek2.doc",1
end with

Die code kende ik nog niet, zou een oplossing kunnen zijn. Alhoewel ik de opmaak voor beide documenten anders zie.

Heb vandaag me verder m'n hoofd tegen de laptop gebeukt om een oplossing te zoeken en zowaar...

In het sjabloon heb ik de code voor verwijderen ingezet (macro) en ze via access aangesproken. Ongelooflijk, maar dit werkt wel!

In access spreek ik dan de code aan met:
docMaster.Application.Run ("WegBR")

waarbij
  • docMaster: word.document
  • WegBR: Macro in het sjabloon (het word.document)

Als Mozes niet naar de berg komt, moet de berg maar naar Mozes komen. Waar het katholisisme al niet goed voor is.

Alvast dank iedereen voor het denkwerk en Bill, mocht je ooit Office 2007 debuggen, you're welcome :confused:
 
Laatst bewerkt:
Uitleg:
De crux zit in:
rngTemp.Find.Execute Replace:=wdReplaceAll

de waarde wdreplaceall wordt alleen herkend als die in Word zelf wordt gebruikt.
Als je vanuit een andere applicatie het argument wdreplaceall wil doorgeven moet je dat doen met het cijfer (hier waarschijnlijk 1).

rng.temp.find.execute replace:=1

of beter

rng.temp.find.execute " ", "",,,,,,,1 (het aantal komma's voor de verschillende argumenten kan afwijken; het gaat hier om het idee).

Geen bug dus.
 
Uitleg:
De crux zit in:
rngTemp.Find.Execute Replace:=wdReplaceAll

de waarde wdreplaceall wordt alleen herkend als die in Word zelf wordt gebruikt.
Als je vanuit een andere applicatie het argument wdreplaceall wil doorgeven moet je dat doen met het cijfer (hier waarschijnlijk 1).

rng.temp.find.execute replace:=1

of beter

rng.temp.find.execute " ", "",,,,,,,1 (het aantal komma's voor de verschillende argumenten kan afwijken; het gaat hier om het idee).

Geen bug dus.


Ik wil hier natuurlijk geen welles nietes spelletje opstarten ...:)
Heb juist jouw optie geprobeerd en tot m'n spijt moet ik melden dat het probleem blijft.

Maar de streber in me zoekt natuurlijk ook nog naar het juiste antwoord. Niet in de eerste plaats natuurlijk, maar ik weet nogal graag wat ik verkeerd heb gedaan.

Dus: je mag blijven zoeken en posten...

Groeten
Sam
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan