Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

BELONING! ActiveDocument.SaveAs FileName:=inhoud clipboard

WordPerfect
2 antwoorden
  • Wie weet de oplossing voor onderstaand probleem? Omdat ik dit eigenlijk z.s.m. moet regelen, zal ik aan degene die het eerst de juiste oplossing aanlevert (uiterlijk zaterdag 21/5) een beloning hiervoor overmaken.

    Vanuit Word 2003 via Nieuwe macro opnemen, heb ik onderstaande macro gemaakt, waarmee ik uit een groot bestand verschillende nieuwe bestanden wil maken met ongeveer 300 bestandsnamen die de naam hebben van een naar het clipboard gekopieerde tekst uit het grote document. Het probleem is echter dat bij opslaan als… het bij de eerste keer uitvoeren van de macro wel de juiste bestandsnaam (CPR_MT_k4m2)wordt geplakt, maar bij de volgende keer uitvoeren van de macro gebeurt dit weer en wordt niet de inhoud van het clipboard (DNG_EN_gh5c) als bestandsnaam geplakt, maar weer de eerste bestandsnaam. Als ik via de VB-editor kijk, zie ik ook keihard de naam van het eerste bestand staan, terwijl hier dus eigenlijk de inhoud van het clipboard moet worden geplakt. Wie weet de oplossing?

    Alvast hartelijk dank!

    Het hoofdbestand bevat bijvoorbeeld de volgende tekst:

    CPR_MT_k4m2
    number-to-string-padded ( exam
    003 Naam 1|M|
    007 Naam 2|V|
    011 Naam 3|M|
    012 Naam 4|M|
    etc…
    DNG_EN_gh5c
    number-to-string-padded ( exam
    001 Naam 25|V|
    013 Naam 26|V|
    014 Naam 27|M|
    023 Naam 28|V|
    etc…

    De macro:

    Selection.Find.ClearFormatting
    With Selection.Find
    .Text = "number-to"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.Find.Execute
    Selection.MoveUp Unit:=wdLine, Count:=1
    Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
    Selection.Cut
    Documents.Add DocumentType:=wdNewBlankDocument
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.HomeKey Unit:=wdStory
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveUp Unit:=wdLine, Count:=1
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.Copy
    Selection.Delete Unit:=wdCharacter, Count:=1
    ActiveDocument.SaveAs FileName:="CPR_MT_k4m2.txt", FileFormat:= _
    wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
    WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
    SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
    False, Encoding:=850, InsertLineBreaks:=False, AllowSubstitutions:=False, _
    LineEnding:=wdCRLF
    ActiveDocument.Close
    End Sub
  • Misschien een duwtje in de goede richting: het onderstaande vond ik in dit forum om meerdere bestanden aan te maken. Nu alleen nog de waarde van x zien te vervangen door de inhoud van het clipboard. Wie?

    Sub veelbestanden()

    For x = 1 To 400
    bestandnaam = "c:\padnaam
    ieuw" & CStr(x) & ".txt"



    ActiveDocument.SaveAs FileName:=bestandnaam, FileFormat:= _
    wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
    WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
    SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
    False
    Next x

    End Sub

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.