windows - hvordan man sletter specifik tekstformatering i ord, programmatisk bruger interop c #

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har oprettet en Windows-applikation, hvor vi automatiserer MsOffice.


I øjeblikket arbejder jeg på, 'Ryd alle formatering på tekst'. Denne metode vil rydde formateringen på den specifikke tekst i ord og sætte standard skrifttyper og dens størrelse.


Følgende er koden, hvad jeg forsøgte indtil videre:


public static bool ClearAllFormatting(IQuestion question, string filename, string text )
    {
        WordInterop.Application wordApplication = GetOrCreateWordApplication(question.ObjectStore);

        try
        {
            //Avoid screen flickering or unwanted alerts while initializing
            wordApplication.ScreenUpdating = false;
            WordInterop.WdAlertLevel displayAlertLevel = wordApplication.DisplayAlerts;
            wordApplication.DisplayAlerts = WordInterop.WdAlertLevel.wdAlertsNone;

            WordInterop.Document wordDocument = wordApplication.Documents.Open(filename);
            WordInterop.Paragraph para = wordDocument.Paragraphs[1];
            WordInterop.Range range = para.Range;
            if(range.Find.Execute(text))
            {
                range.Find.ClearFormatting();

            }


            object missing = Type.Missing;

            wordDocument.Save();
            object save\_changes = false;
            wordDocument.Close(ref save\_changes, ref missing, ref missing);
            return true;
        }
        catch (Exception)
        {
            Cleanup(question.ObjectStore, true);
        }
        return false;
    }


Men desværre er denne metode ikke ryddet formateret på tekst.


Kan nogen venligst hjælpe mig.


Tak

Bedste reference