Laden...

Profil von Sykwitit

myCSharp.de - Member Mitglied seit
S
Sykwitit
myCSharp.de - Member
6
Themen
21
Beiträge
Dabei seit
24.09.2010
Letzte Aktivität
vor 5 Stunden
Alter
39 Jahre
Erstellt vor 5 Stunden

Macht natürlich mehr Sinn, alles über C# zu steuern, aber ich bin da eher ein Laie in C# Programmieren.

Aber zumindest läuft es schon mal fürs Erste.

Ich überlege jetzt noch, dass ich vielleicht nur 1 Word Dokument öffne, es bearbeite drucke und dann wieder bearbeite. Aktuell wird ja für jede Version ein neues Word Dokument geöffnet, bearbeitet und dann gedruckt und wieder geschlossen, was wohl ineffizent ist. Aber der Druckauftrag ist sowieso zu langsam von Windows wie ich finde.

Erstellt vor 2 Tagen

Danke, ich werde mir den Process explorer anschauen, ob ich da was rausfinden kann. kenne mich da 0 aus.

Ich bin auf die Idee gekommen ein Macro im Word zu schreiben, der mir die Warnung ignoriert und siehe da, die Warnung wird ignoriert und es wird gedruckt. ABER halt nur wenn ich das Makro ausführe im Word.

Kann man in C# ein Makro nach dem Öffnen aktivieren?

Sub AutoExec()
 ' Store current Background Printing setting.
Dim x As Boolean
x = Options.PrintBackground
' Turn off error messaging and Background Printing.
Application.DisplayAlerts = wdAlertsNone
Options.PrintBackground = False
' Print the active document.
ActiveDocument.PrintOut
' Turn on error messaging and restore Background Printing
' to original setting.
'Application.DisplayAlerts = wdAlertsAll
'Options.PrintBackground = x
End Sub
Erstellt vor 3 Tagen

Ich habe die Seitenränder im Word von 0,42 (oben und unten) auf 0,1 cm reduziert und er druckt es ohne was abzuschneiden.

Wie kann ich schauen, welcher Process den Dialog aufmacht? Es wäre wohl auch eine Option, wenn ich zumindest das Fenster mit den Seitenränder sehe, wo ich zumindest JA drucken kann. Somit müsste ich halt nur mehr für jeden Ausdruck "Ja" klicken. Der Rest macht mein Code. Spart mir auch einiges an Arbeit.

.

Erstellt vor 3 Tagen

Das Problem ist, dass es sich um Etiketten handelt die auf A4 sind. Da kann ich fast nicht aus, dass ich Richtung "Randlos" drucken möchte.

Das Dokument reizt halt die Ränder komplett aus (was leider nötig ist, weil sehr viel Text in den Etiketten sind). Aber beim Ausdruck wird nichts abgeschnitten oder so.

Wenn ich ein PDF drucke, dann klappt es ohne den Hinweis.

Erstellt vor 4 Tagen

Ich glaube es braucht eine manuelle Eingabe. Wenn ich das Word Dokument direkt öffne und drucken möchte, kommt immer die Warnung "Ihre Seitenränder sind ziemlich schmal. Möglicherweise werden Teile des Inhalts beim Drucken abgeschnitten. Möchten Sie trotzdem drucken?"

Das sehe ich nicht, wenn ich es via C# ausdrucken möchte. Ich glaube er bleibt hier stehen. Wenn ich einen PDF Drucker als Standardwähle, dann funktioniert es Problemlos.

Der Punkt ist eher: Ich möchte zB 10 Seiten mit LOT 1, 10 Seiten mit LOT 2, 10 Seiten mit LOT 3....10 Seiten mit LOT 10.

Das funktioniert ja schon im prinzip mit meinem Code. Aber bei meinem Echten Drucker, hab ich halt diese Warnung "Ihre Seitenränder sind ziemlich schmal. Möglicherweise werden Teile des Inhalts beim Drucken abgeschnitten. Möchten Sie trotzdem drucken?"

Somit druckt es nicht. Wenn ich den PDF Drucker wähle, kommt die Warnung halt nicht von Word und er erstellt die PDFs

Erstellt vor 4 Tagen

etwa so?

 wordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;

                TimeSpan time = new TimeSpan(800);

                doc.PrintOut(20, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Seiten);

Also aktuell sehe ich, wie mein Code Word öffnet, die Stellen ersetzt und in der Leiste von Word steht halt "Es wird gedruckt". Und es erscheint auch in den Aufträgen vom Drucker, aber sie bleiben "In Warteschlange" und es wird nicht gedruckt.

im Word sehe ich noch eine Meldung:

"Bitte warten sie einen moment, Word muss zuerst das Drucken abschließen." als Infofenster. Wenn ich ein PDF erstelle funktioniert es, da ich ja eine Interaktion habe, wo ich das PDF speichere

Erstellt vor 9 Tagen

Hallo,

ich habe ein Word Dokument, wo ich diverse Felder in C# über eine GUI befülle. Das funktioniert alles schön und gut.

Jetzt möchte ich dass ich das bearbeitete Word Dokument drucke, was als PDF klappt, aber bei meinem Drucker zickt er herum und es kommt eine "Warnung"

Diese möchte ich aber automatisch bestätigen, damit der Druck startet, weil sonst kommt das Dokument nur in die Warteschleife vom Drucker und es wird nicht gedruckt.

public void ReplaceTextInWordDocument2(string filePath, string searchText, string replaceText, string searchDate, string replaceDate, int Seiten)
       {
           Word.Application wordApp = null;
           Word.Document doc = null;
           try
           {
               // 1. Word Anwendung starten
               wordApp = new Word.Application();
               wordApp.Visible = true;
               // 2. Dokument öffnen
               object file = filePath;
               object nul = Type.Missing;
               doc = wordApp.Documents.Open(ref file, ref nul, ref nul,
               ref nul, ref nul, ref nul, ref nul, ref nul,
               ref nul, ref nul, ref nul, ref nul, ref nul,
               ref nul, ref nul, ref nul);
               Statuslabel.Text = "Dokument wird geöffnet...";
               // 3. Gesamten Inhalt auswählen
               doc.Content.Select();
               Statuslabel.Text = "Dokument wird gelesen...";
               // 4. Suchen und Ersetzen für LOT Wert
               Word.Find findObject = wordApp.Selection.Find;
               findObject.ClearFormatting();
               findObject.Text = searchText;
               findObject.Replacement.ClearFormatting();
               findObject.Replacement.Text = replaceText;
               Statuslabel.Text = "LOT wird gesucht...";
               // Replace-Parameter richtig setzen für LOT Wert
               findObject.Execute(
               FindText: searchText,
               ReplaceWith: "LOT " + replaceText,
               Replace: Word.WdReplace.wdReplaceAll);
               Statuslabel.Text = "LOT wird gesucht und Ersetzt...";
               //ReplaceDatum
               Word.Find findDate = wordApp.Selection.Find;
               findDate.ClearFormatting();
               findDate.Text = searchDate;
               findDate.Replacement.ClearFormatting();
               findDate.Replacement.Text = replaceDate;
               Statuslabel.Text = "Datum wird gesucht...";
               // Replace-Parameter richtig setzen
               findDate.Execute(
               FindText: searchDate,
               ReplaceWith: replaceDate,
               Replace: Word.WdReplace.wdReplaceAll);
               Statuslabel.Text = "Datum wird gesucht und Ersetzt...";
               // 5. Dokument speichern und schließen
               doc.PrintOut(20, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Seiten); //Seiten ist die Anzahl wie viele gedruckt wird
               Statuslabel.Text = "Es wird gedruckt...";
               object saveChanges = Word.WdSaveOptions.wdSaveChanges;
               doc.SaveAs2("Print.docx", ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul, ref nul);
               doc.Close(SaveChanges: Word.WdSaveOptions.wdDoNotSaveChanges);
               wordApp.Quit(saveChanges, ref nul, ref nul);
               //doc.Close(ref saveChanges, ref nul, ref nul);
               //wordApp.Quit(ref saveChanges, ref nul, ref nul);
               //MessageBox.Show("Erledigt");
               Statuslabel.Text = "Fertig";
           } 

Wie kann ich diese Meldung unterdrücken bestätigen, damit der Druck startet?

Bin da eher ein Laie in C#

Erstellt vor 10 Jahren

Hallo!

Ich habe hier eine vbe Datei, die ich als Eingebettete Ressource in das Projekt eingefügt. Wie kann ich diese Datei jetzt von der Exe dann extrahieren und in einem Ordner kopieren?

Mit dem Streamreader/writer würde es ja nicht funktionieren, da die vbe ja verschlüsselt ist oder irre ich mich?

Erstellt vor 11 Jahren

Liegt wirklich wohl an meinem Domainaccount.
Hab es jetzt in einer anderen Domäne probiert und das Funktioniert wunderbar. Kann jetzt ohne Probleme per Remote Benutzer zur gruppen hinzufügen oder löschen.

Funktioniert prächtig!

Vielen Dank

Erstellt vor 11 Jahren

Also nach Abt's Code geht es nur, wenn ich die Gruppe auf meinen Server abrufen, auf einen anderen Client(gleicher Account mit Lokale Adminrechte) hab ich auch eine Zugriffsverweigerung.