Veronika Neufeind
2005-10-06 06:45:04 UTC
Hallo allerseits,
ich setze das allseits bekannte Standard-Makro für einen Seriendruck ein.
Die Vorlage mit diesem Makro funktioniert prima, d.h. pro Datensatz wird ein
Dokument gedruckt. Wenn ich aber den nachfolgenden Code für den Aufruf nutze,
dann werden zwei Druckaufträge erstellt. Es kommen also zwei Dokumente pro
Datensatz heraus. Hat jemand einen Tip für mich, wo der Fehler liegt? Vielen
Dank für die Hilfe.
Ich weiß natürlich, dass es kein typisches C#-Thema ist. Aber hier kennen
sich einige Jungs sehr gut damit aus ;-) Deshalb mein Versuch.
Gruß Veronika
-----------------------------------
private void btn_AlleDrucken_Click(object sender, System.EventArgs e)
{
Word.ApplicationClass wordapp = new Word.ApplicationClass();
// Object für Missing (oder optional) Argumente.
object oMissing = System.Reflection.Missing.Value;
object oFile = Application.StartupPath + "..\\Test.doc"; //Datei liegt im
Debug
// Erstellen einer Instanz von Word, sichtbar machen und Dokument öffnen.
wordapp.Visible = true;
Word.Documents oDocs = wordapp.Documents;
//WORD10:
Word._Document oDoc = oDocs.Open(ref oFile, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing);
// Makro im Word-Dokument starten.
RunMacro(wordapp, new Object[]{"Test_Druck"});
}
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}
ich setze das allseits bekannte Standard-Makro für einen Seriendruck ein.
Die Vorlage mit diesem Makro funktioniert prima, d.h. pro Datensatz wird ein
Dokument gedruckt. Wenn ich aber den nachfolgenden Code für den Aufruf nutze,
dann werden zwei Druckaufträge erstellt. Es kommen also zwei Dokumente pro
Datensatz heraus. Hat jemand einen Tip für mich, wo der Fehler liegt? Vielen
Dank für die Hilfe.
Ich weiß natürlich, dass es kein typisches C#-Thema ist. Aber hier kennen
sich einige Jungs sehr gut damit aus ;-) Deshalb mein Versuch.
Gruß Veronika
-----------------------------------
private void btn_AlleDrucken_Click(object sender, System.EventArgs e)
{
Word.ApplicationClass wordapp = new Word.ApplicationClass();
// Object für Missing (oder optional) Argumente.
object oMissing = System.Reflection.Missing.Value;
object oFile = Application.StartupPath + "..\\Test.doc"; //Datei liegt im
Debug
// Erstellen einer Instanz von Word, sichtbar machen und Dokument öffnen.
wordapp.Visible = true;
Word.Documents oDocs = wordapp.Documents;
//WORD10:
Word._Document oDoc = oDocs.Open(ref oFile, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing);
// Makro im Word-Dokument starten.
RunMacro(wordapp, new Object[]{"Test_Druck"});
}
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}