VBscript probléma Wordhoz

Névtelen
2025-01-04T16:05:37+00:00

Munkámból fakadóan szükséges VBscripteket csinálni a munkatársaimnak.

Az egyik ilyen esetében nem a várt eredménnyel futott. A VBscript főleg keresés/cseréket tartalmaz.

Az alábbi ezek közül rendben végrehajtódik és az intPunct változó tartalmazza az összes találat számát:

' <[BI]>[!,.:;?…] helyett [!,.:;?…] <[BI]>  
Selection.Find.ClearFormatting  
Selection.Find.Replacement.ClearFormatting  
With Selection.Find  
    ' !,.:;?…  
    .Text = "\^0060([BI]@)\^0062([\^0033\^0044\^0046\^0058\^0059\^0063\^0133]@)"  
    .Replacement.Text = "\2 <\1>"  
    .Forward = True  
    .Wrap = wdFindContinue  
    .Format = True  
    .MatchCase = False  
    .MatchWholeWord = False  
    .MatchWildcards = True  
    .MatchSoundsLike = False  
    .MatchAllWordForms = False  
    Do While .Execute(Replace:=wdReplaceOne)  
        intPunct = intPunct + 1  
    Loop  
End With  
  1. A következő keresés/csere kód, aminek ugyanaz a beállítása, mint a fentinek, viszont a dokumentumban csak az első előfordulást cseréli ki, az összes többit nem, és az intDecodes változó is 1 értékű. Miért?

' Bold Italic decode <BI>kifejezés</BI> helyett kifejezés charBoldItalic karaktersílussal formázva
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^0060BI^0062(*@)^0060^0047BI^0062"
.Replacement.Text = "\1"
.Replacement.Style = ActiveDocument.Styles("charBoldItalic")
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
Do While .Execute(Replace:=wdReplaceOne)
intDecodes = intDecodes + 1
Loop
End With

  1. A 2. keresés/cserét globálisra állítva (wdReplaceALL tulajdonsággal) nálam az összes előfordulást megtalálja és cseréli pc-n Win 10 alatt futó Word 2007-ben (12.06.6787.5000), valamint Mac Minin Ventura 13.5.2 alatt futó Mac Microsoft Word 16.92-ben is (24120731).

Viszont a munkatársaim gépein Win alatt futó különböző Word verziókban az előfordulások egy részét találja meg és cseréli (pl. 9 előfordulásból 5-öt). Miért?

' Bold Italic decode <BI>kifejezés</BI> helyett kifejezés charBoldItalic karaktersílussal formázva
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^0060BI^0062(*@)^0060^0047BI^0062"
.Replacement.Text = "\1"
.Replacement.Style = ActiveDocument.Styles("charBoldItalic")
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll

  1. A Wordban végzett cserekor kapunk egy panelt, amiben a Word tájékoztat az elvégzett cserék számáról.

A 3. pont alatti globális cserekor hogyan lehet lekérdezni a cserék számát VBscriptben?

Microsoft 365 és Office | Telepítés, beváltás, aktiválás | Egyéb | Egyéb

Zárolt kérdés. Ez a kérdés a Microsoft támogatási közösségéből lett áttelepítve. Szavazhat arról, hogy hasznos-e, de nem adhat hozzá megjegyzéseket vagy válaszokat, és nem követheti a kérdést.

0 megjegyzés Nincsenek megjegyzések

1 válasz

Rendezés alapja: Leghasznosabb
  1. Névtelen
    2025-01-05T07:57:55+00:00

    Ez a válasz automatikusan lett lefordítva. Ennek eredményeképpen nyelvtani hibák vagy furcsa megfogalmazások lehetnek benne.

    Kedves SiGWare

    Köszönjük, hogy felvetette aggályait a Microsoft Community webhelyén.

    Megértem, hogy meg akarja nézni a VBS kódot.

    Szeretnék segíteni, de a VBS-sel kapcsolatos problémák túlmutatnak a Microsoft Community támogatási hatókörén. Ez a probléma alkalmasabb a Microsoft Learn (csak angol nyelven) való közzétételre, mert több felhasználó teszi közzé ezeket a problémákat. Kattintson a "Kérdés feltevése" gombra, és az ottani szakértők professzionálisabb megoldásokat nyújthatnak.

    A következő fórum linkjére kattintva konkrét megoldásokat javasolhat, megoszthatja ötleteit, és segíthet megoldani a problémát.

    Word – Microsoft Q&A

    Reméljük, hogy a probléma megfelelően kezelhető, miután kapcsolatba lépett a megfelelő részleggel. Megértésüket köszönjük!

    Üdvözlettel

    Tracy - MSFT | A Microsoft közösségi támogatási szakembere

    Hasznos volt ez a válasz?

    Ezt a választ 1 személy találta hasznosnak.
    0 megjegyzés Nincsenek megjegyzések