Laden...

Microsoft Word "kastrieren"

Erstellt von Easyrider vor 17 Jahren Letzter Beitrag vor 17 Jahren 4.143 Views
E
Easyrider Themenstarter:in
200 Beiträge seit 2006
vor 17 Jahren
Microsoft Word "kastrieren"

Hallo zusammen,

mir stellt sich gerade die Aufgabe Word aus meiner Anwendung zu starten. Der Haken daran ist das die Funktionen extrem eingeschränkt werden müssen.

Ich muss alles ausblenden / deaktivieren, bis auf drei oder vier Punkte. Diese Punkte habe ich mir in einer eigenen Menüleiste zusammengeklickt.

Desweiteren ist anzumerken das ich das Word nicht so manipulieren darf, das danach bei jedem Start alles ausgeblendet ist. Nur wenn mein Programm Word explizit startet soll alles weg, ansonsten muss Word so aussehen wie der Benutzer es das letzte Mal verlassen hat.

Derzeit mache ich es so:

        ApplicationClass app = null;

        private void cmdStarteWord_Click(object sender, EventArgs e)
        {

            object empty = null;

            try
            {
                app = new ApplicationClass();

                foreach (CommandBar bar in app.CommandBars)
                {

                    if (bar.Name != "MyProgramName")
                        bar.Visible = false;
                    else
                        bar.Visible = true;

                }

                app.Visible = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                app.Quit(ref empty, ref empty, ref empty);
            }

        }

Leider resultiert das ganze in folgendem Fehler:

Message: "Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben."
StackTrace: "   bei Microsoft.Office.Core.CommandBar.set_Visible(Boolean pvarfVisible)
bei WordTest.frmMain.cmdStarteWord_Click(Object sender, EventArgs e) in ...\\WordTest\\frmMain.cs:Zeile 63."

Der Fehler sagt mir leider nichts. Weiß jemand was er bedeutet?

Über ein paar Beispiele / Snippets / Tips würde ich mich auch sehr freuen. Google und andere Suchmaschinen werfen extrem viel Schrott aus, da "Word", "Symbolleiste" oder "Speichern" einfach häufig benutzte Wörter sind...

mfg

Easy

S
1.047 Beiträge seit 2005
vor 17 Jahren

vielleicht solltest du mal den debugger bemühen um herauszufinden wo es knallt

zunächst einmal schein man die menüleiste oben nicht ausblenden zu können. zumindest geht es über das word menü nicht. desweiteren kann es sein das du ne exception bekoommst bei menüleisten die garnicht aktiviert sind... (enabled)

du solltest dsa programm dan nauch so schreiben das du dir merkst, welche symbolleisten aktiviert und sichtbar waren und am ende dann den rohzustand wieder herstellen.

zum testen würd ich dir übrigens raten das alles erstmal über vba zu machen, dann sparste auch das ständige neu compilieren^^

wenn dir google und co zuviel ausspucken dann grenz es mehr ein, benutz englische begriffe, benutzt das "+" und such auch mal in den google groups... nur mal so am rande 🙂