Word 2007 instructie InsertPara

Status
Niet open voor verdere reacties.

franzeman

Gebruiker
Lid geworden
2 sep 2006
Berichten
98
Beste VBA-ers,

Voor een Word document heb ik een Auto_Open macro geschreven. Die zorgt er o.a. voor dat bij opnieuw openen de cursor twee regels (= twee Returns) onder de laatste tekst staat te knipperen.
Bij mij gaat dat prima, maar op sommige pc's komen er boodschappen in beeld met de volgende inhouden:
- Fout 4641 tijdens uitvoering: De instructie InsertPara is momenteel niet ingeschakeld, of:
- Fout 509 tijdens uitvoering: De InsertPara-opdracht is niet beschikbaar, omdat er geen documentvenster actief is.

Ik kan met beide antwoorden niets ...

Vraag: Hoe schakel ik de opdracht InsertPara in (of uit) of hoe los ik dit probleem op?

Alvast bedankt voor het meedenken,

Met vriendelijke groet,

Franzeman
 
Is afhankelijk van de code die je hebt gebruikt.
Plaats die eens hier.
 
Helaas, ik gebruik geen 2007.
Als je het als 2003 bestand stuurt gaat het gesmeerder.
 
Helaas, ik gebruik geen 2007.
Als je het als 2003 bestand stuurt gaat het gesmeerder.

Dan stuur ik toch gewoon de code:

Sub InsertParas(ByVal NumOfParas As Long) 'gevonden op het internet _
' weet niet hoe te gebruiken
With Selection.Range
For iCount = 1 To NumOfParas
.InsertParagraph
Next
End With
End Sub

Sub AutoOpen()

'macro genereert automatisch datum en tijd op nieuwe regel
'laatste revisiedaum: 23-10-2008

Dim word As Object

Set word = CreateObject("word.basic") 'creates the word object

With word

Selection.EndKey Unit:=wdStory, Extend:=wdMove 'ga naar einde tekst

Selection.Delete Unit:=wdCharacter, Count:=1 'voor het geval dat de cursor op een lege regel _
' staat te knipperen bij afsluiten: dan meer regels witruimte; gaan we eerst weghalen
Selection.Delete Unit:=wdCharacter, Count:=1 'we pakken maar wat ...
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1

Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend

With Selection
.Collapse Direction:=wdCollapseStart
.InsertParagraph
.Collapse Direction:=wdCollapseEnd
End With

Selection.Range.ListFormat.RemoveNumbers NumberType:=wdNumberParagraph 'inspringen uitzetten

Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend

With Selection
.Collapse Direction:=wdCollapseStart
.InsertParagraph
.Collapse Direction:=wdCollapseEnd
End With

'plaats een bullet voor de regel
With ListGalleries(wdBulletGallery).ListTemplates(1).ListLevels(1)
.NumberFormat = ChrW(61623)
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleBullet
.NumberPosition = CentimetersToPoints(0#)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0.4)
.TabPosition = wdUndefined
.ResetOnHigher = 0
.StartAt = 1
With .Font
.Bold = wdUndefined
.Italic = wdUndefined
.StrikeThrough = wdUndefined
.Subscript = wdUndefined
.Superscript = wdUndefined
.Shadow = wdUndefined
.Outline = wdUndefined
.Emboss = wdUndefined
.Engrave = wdUndefined
.AllCaps = wdUndefined
.Hidden = wdUndefined
.Underline = wdUndefined
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Name = "Symbol"
End With
.LinkedStyle = ""
End With

ListGalleries(wdBulletGallery).ListTemplates(1).Name = ""
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
ListGalleries(wdBulletGallery).ListTemplates(1), ContinuePreviousList:= _
False, ApplyTo:=wdListApplyToWholeList, DefaultListBehavior:= _
wdWord10ListBehavior

With ActiveDocument.Content
.Collapse Direction:=wdCollapseEnd
.InsertDateTime DateTimeFormat:="dddd, dd MMMM yyyy, HH:mm", _
InsertAsField:=False
End With

Selection.EndKey Unit:=wdLine 'plaatst de cursor aan het einde van de regel
Selection.TypeText Text:=" uur - "

Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.EndKey Unit:=wdLine 'plaatst de cursor aan het einde van de regel

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"USERNAME ", PreserveFormatting:=True

ActiveWindow.View.ShowFieldCodes = False
Selection.TypeParagraph 'ga naar nieuwe regel en plaats de cursor op de startpositie
Selection.Range.ListFormat.RemoveNumbers NumberType:=wdNumberParagraph 'inspringen uitzetten


End With

Set word = Nothing 'clears the object variable

End Sub


Groetjes van Franzeman
 
Begin in een boek over VBA in Word (bijv. Guy Hart-Davies).
Ik ben geen voorstander van knippen en plakken van onbegrepen code.
Als je wat met VBA wil doen zul je je er toch echt in moeten verdiepen.

Liever zag ik dat je eerst precies zou formuleren wat je wil, waarom je het wil en welk probleem daarmee opgelost zou worden en wat je zelf al hebt gedaan (uitgezonderd knippen en plakken) om het probleem aan te pakken.
Dan is een simpel advies vaak zo gegeven.
 
Begin in een boek over VBA in Word (bijv. Guy Hart-Davies).
Ik ben geen voorstander van knippen en plakken van onbegrepen code.
Als je wat met VBA wil doen zul je je er toch echt in moeten verdiepen.

Liever zag ik dat je eerst precies zou formuleren wat je wil, waarom je het wil en welk probleem daarmee opgelost zou worden en wat je zelf al hebt gedaan (uitgezonderd knippen en plakken) om het probleem aan te pakken.
Dan is een simpel advies vaak zo gegeven.


Dit antwoord, wellicht goed bedoeld, vind ik veel te bevoogdend.
Mijn vraag is duidelijk geformuleerd. Het hoe en waarom doet niet ter zake. Ik zoek hulp omdat ik er niet uitkom. Als ik de materie beheerste, klopte ik niet bij jullie aan. Ben redelijk bedreven in Excel VBA, maar VBA in Word is een ander verhaal. Daar mis ik de routine en de studietijd.

Het enige wat ik wil, is dat, wanneer het document geopend wordt, de AutoOpen macro er voor zorgt, dat de cursor - twee regels onder het laatste woord - aan het begin van de nieuwe regel staat te knipperen.
Zonder vervelende 'InsertPara'-boodschappen.
Dat is alles.

Groetjes van Franzeman
 
Bij mij gaat dat prima, maar op sommige pc's komen er boodschappen in beeld met de volgende inhouden:

Ik heb ook wat minder ervaring in VBa Word :D maar als het op sommige andere pc's wel werkt vermoed ik dat er verschil is in de Word installatie.
Draait men onder dezelfde versie?
Controleer of op de PC's waar het niet werkt wel dezelfde invoegtoepassingen geactiveerd zijn.
 
Ik heb ook wat minder ervaring in VBa Word :D maar als het op sommige andere pc's wel werkt vermoed ik dat er verschil is in de Word installatie.
Draait men onder dezelfde versie?
Controleer of op de PC's waar het niet werkt wel dezelfde invoegtoepassingen geactiveerd zijn.

Hallo Jan e.a.,

Ik ben inmiddels wat wijzer geworden in de zoektocht naar het probleem. En het lijkt erop dat jij in de goede richting denkt.
Ik begrijp, dat de Auto_Open-code uiteindelijk wel goed werkt, maar dat bij sommigen van kantoor de code alleen (halverwege) vastloopt, als het toegestuurde bestand DIRECT vanuit Outlook - met een dubbelklik - wordt geopend...
Wij beschikken allen over Office 2007 werkend onder Microsoft XP-Professional.
Bij de invoegtoepassingen heb ik nog geen verschil aangetroffen.

Ik wacht op een hint van deze of gene.

Groetjes van Franzeman
 
Bestanden rechtstreeks vanuit een mailprogramma openen geeft regelmatig (onverklaarbare) problemen. Daarom adviseer ik iedereen altijd om de bestanden eerst op te slaan en ze pas daarna vanuit het bijbehorende programma te openen. Zeker als men er ook iets in wil of moet wijzigen.
 
Bestanden rechtstreeks vanuit een mailprogramma openen geeft regelmatig (onverklaarbare) problemen. Daarom adviseer ik iedereen altijd om de bestanden eerst op te slaan en ze pas daarna vanuit het bijbehorende programma te openen. Zeker als men er ook iets in wil of moet wijzigen.

Dankjewel Jan,
Ik kijk het nog een weekje aan. Wellicht dat ook andere 'members' daar een idee over hebben. Als er geen reactie meer komt op mijn vraag, dan zal ik deze de volgende week afmelden.

Groetjes van Franzeman
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan