Zum Inhalt springen

msc84

Mitglieder
  • Gesamte Inhalte

    22
  • Benutzer seit

  • Letzter Besuch

Beiträge von msc84

  1. Hallo,

    ich habe folgendes vor:

    Word Serienbrief aus C#.

    Dazu öffne ich eine Vorlagendatei, durchlaufe die Paragraphen, passe meine Serienbrief Key-Felder an, und schreib den Kram in ein neues Dokument.

    Das ganze funktioniert auch, mein Problem ist nur, das ich die Formateigenschaften des Quelldokumentes (sVorlage) nicht übernehmen kann,

    ich finde einfach keine Lösung.

    CODE:

    public void Start(List<string> liSelKundenIDs, string sVorlage, string sRTBText)

    {

    Microsoft.Office.Interop.Word._Document wrdDoc1;

    Microsoft.Office.Interop.Word.Selection wrdSelection;

    Microsoft.Office.Interop.Word.MailMerge wrdMailMerge;

    Microsoft.Office.Interop.Word.MailMergeFields wrdMergeFields;

    // Create an instance of Word and make it visible.

    wrdApp = new Microsoft.Office.Interop.Word.Application();

    wrdApp.Visible = true;

    // Add a new document.

    wrdDoc = wrdApp.Documents.Add(ref oMissing, ref oMissing,

    ref oMissing, ref oMissing);

    //Vorlage öffnen

    object oFile = sVorlage;

    wrdDoc1 = wrdApp.Documents.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, ref oMissing);

    wrdDoc.Select();

    wrdSelection = wrdApp.Selection;

    wrdMailMerge = wrdDoc.MailMerge;

    // Create a MailMerge Data file.

    CreateMailMergeDataFile(liSelKundenIDs);

    wrdMergeFields = wrdMailMerge.Fields;

    string sLines = "";

    for (int i = 0; i < wrdDoc1.Paragraphs.Count; i++)

    {

    sLines = wrdDoc1.Paragraphs[i + 1].Range.Text;

    Range rng = wrdDoc1.Paragraphs[i + 1].Range.FormattedText;

    while (sLines.Contains("<<"))

    {

    string sNurText = sLines.Substring(0, sLines.IndexOf("<<"));

    wrdSelection.TypeText(sNurText);

    string sKeyField = sLines.Substring((sLines.IndexOf("<<") + 2), sLines.IndexOf(">>") - (sLines.IndexOf("<<") + 2));

    wrdMergeFields.Add(wrdSelection.Range, sKeyField);

    sLines = sLines.Substring((sLines.IndexOf(">>") + 2), sLines.Length - (sLines.IndexOf(">>") + 2));

    }

    wrdSelection.TypeText(sLines);

    //wrdSelection.Font.Bold = wrdDoc1.Paragraphs[i + 1].Range.Font.Bold;

    //wrdSelection.Font.Size = wrdDoc1.Paragraphs[i + 1].Range.Font.Size;

    //wrdSelection.Font.Italic = wrdDoc1.Paragraphs[i + 1].Range.Font.Italic;

    //wrdSelection.Font.Name = wrdDoc1.Paragraphs[i + 1].Range.Font.Name;

    //wrdSelection.Font.Underline = wrdDoc1.Paragraphs[i + 1].Range.Font.Underline;

    //wrdSelection.Font.UnderlineColor = wrdDoc1.Paragraphs[i + 1].Range.Font.UnderlineColor;

    //wrdSelection.Font.Color = wrdDoc1.Paragraphs[i + 1].Range.Font.Color;

    //wrdSelection.Font.Position = wrdDoc1.Paragraphs[i + 1].Range.Font.Position;

    //wrdSelection.Font.StrikeThrough = wrdDoc1.Paragraphs[i + 1].Range.Font.StrikeThrough;

    }

    // Perform mail merge.

    wrdMailMerge.Destination = Microsoft.Office.Interop.Word.WdMailMergeDestination.wdSendToNewDocument;

    wrdMailMerge.Execute(ref oFalse);

    // Close the original form document.

    wrdDoc.Saved = true;

    wrdDoc.Close(ref oFalse, ref oMissing, ref oMissing);

    wrdDoc1.Saved = false;

    wrdDoc1.Close(ref oFalse, ref oMissing, ref oMissing);

    // Release References.

    wrdSelection = null;

    wrdMailMerge = null;

    wrdMergeFields = null;

    wrdDoc = null;

    wrdDoc1 = null;

    wrdApp = null;

    // Clean up temp file.

    System.IO.File.Delete("C:\\DataDoc.doc");

    }

    Bin für jede Hilfe und Anmerkung sehr dankbar.

  2. Hi,

    Ich habe ein fertiges SQL-Statement, also keine Möglichkeit in die Zusammenstellung des Statements einzugreifen.

    Zum Beispiel:

    "SELECT Name FROM Kunden WHERE Name='Supervisor O'Boyle'

    Problem ist das Hochkomma im String.

    Ich muss nun an einer zentralen Stelle wo die Statemens "durch kommen",

    das Problem abfangen.

    Weiß jemand wie ich das abfangen kann?

    Vielen Dank!

  3. Hi,

    ich würde gerne eine Zeile in einer Listview(ViewStyle: Details) markieren.

    Mein Ansatz:

    myListview.Items[x].Selected = true;

    myListview.Items[x].EnsureVisible;

    Aber ich hätte die ganze Zeile gerne wirklich markiert, also mit blauem Hintergrund usw. .

    Dankeschön!

  4. SQL ist zwar nicht so mein Fachgebiet, und das Statement ist auch nicht getestet, aber vielleicht könnte es so oder so ähnlich gehen:

    
    select k.*
    
    from Kunden k, Produkte p, KundeHatProdukte kxp
    
    where k.ID = kxp.IDKunde
    
    and p.id = kxp.IDProdukt
    
    and exists (
    
    	select ikxp.IDKunde 
    
    	from KundeHatProdukte ikxp 
    
    	where ikxp.IDProdukt = 1
    
    	and ikxp.IDKunde = k.ID)
    
    and exists (
    
    	select ikxp.IDKunde 
    
    	from KundeHatProdukte ikxp 
    
    	where ikxp.IDProdukt = 3
    
    	and ikxp.IDKunde = k.ID)
    
    

    Ich weiß allerdings nicht, ob Du innerhalb des inner selects auf "k.ID" Zugriff hast.

    Viel Erfolg!

    Peter

    Cool!

    Das funktioniert.

    Daraus kann ich mir mein Statement basteln.

    Vielen Dank!

  5. Hallo,

    irgendwie habe ich ein Brett vorm Kopp und bräuchte mal Hilfe.

    Ich habe drei Tabellen,

    Tabelle Kunden:

    ID Name

    1 Müller

    2 Meier

    3 Schmidt

    Tabelle Produkte

    ID Bezeichnung

    1 Fenster

    2 Haustür

    3 Markise

    und Tabelle KundeHatProdukte (Beziehungstabelle)

    IDKunde IDProdukt

    1 1

    1 3

    3 1

    2 2

    So jetzt bräuchte ich alle Kunden, die Fenster UND Markisen beziehen.

    Select Name, Bezeichnung

    From Kunden, KundeHatProdukte, Produkte

    Where Kunden.ID=KundeHatProdukte.IDKunde

    and KundeHatProdukte.IDProdukt= Produkte.ID

    AND (Bezeichnung ='Fenster or Bezeichnung='Markise');

    Mein Problem ist das ich hier nur eine Oder Verknüpfung bekommen,

    also alle Kunden die Fenster ODER Markisen beziehen, und nicht Kunden die genau beides beziehen.

    Als Ergebnis soll also nur Kunde Müller rauskommen.

    Vll kann mir jemand helfen.

  6. hihi die Erfahrung hab ich Donnerstag gemacht.

    2 der Prüfer waren total korrekt, und habe mir schöne technische Fragen zum Projekt gestellt, welche ich schön beantworten konnte. Aber auf einmal fing der eine an und hat mich zu netzplan und aufbau und ablauforganisation und diese Liniensystem und so abgefragt.....

    Aber mach dich nicht verrückt, war eigentlich alles harmlos.

    Kannst eh nicht alles lernen.

  7. Also hab mir grade die Rar geladen,

    ich finde den Hintergrund zu dunkel und finde das die Schrift nicht klar genug hervorkommt.

    Wenn ich deine Gliederung so lese kommt mir das so vor als wenn deine Präsi sehr der Doku ähnelt. Versuche in der Präsi dir ein Szenario oder Thema deines Projektes herauszugreifen und gehe daruf näher ein.

    Viel Glück

    PS: Habe Donnerstag Präsi gehabt und 93 % bekommen =).....

  8. Hi,

    ich wollte auch mal eine schöne Diskussionsrunde zur GA1 der Anwendungsentwickler eröffnen, wie die FISI's. :)

    Also, was haltet Ihr von der Prüfung.

    Also ich fande sie eigentlich OK, die Zeit ist halt immer ein Problem (Struktogramm, Code etc. ist Zeitaufwendig).

    Den 4. Handlungsschritt habe ich sofort gestrichen, weil die 5 mit dem Struktogramm eigentlich geschenkt war.

    Was auch doof war, das es auf die Fragen zur Änderungsanomalie und Löschanomalie ganze 10 Punkte gab, und über sql Tabellen erstellen mit Beziehungen setzen.

    Habt Ihr ggf. noch Lösungen im Kopf?

    Also her mit Euren Meinungen, Kritiken, Lösungen oder kniffligen Aufgeben etc.

  9. GA 1 - ging so, leicht schwer

    GA 2 - war eigentlich kein allg. Teil, sondern FISI

    WiSo - OK

    Ich finde das die jetzige Prüfung ganz anders war als wie letzen Jahre, zu mind. GA1/2

    Joa so seh ich das eigentlich auch.

    Wann gibts denn eigentlich die Ergebnisse?

    Und wie ist das genau mit den Ergebnissen, darf ich in keinem Bereich unter 50% kommen?

  10. FIAE...

    GA1 machbar, aber von der Zeit echt knapp, das mit den SQLs war etwas gemein, wer rechnet schon mit Tabellen erstellen und dazu dann Fremdschlüssel setzen, den 4. Schritt nach 2 min gestrichen, als ich gesehen habe das der 5. mit dem Struktogramm oder PAP geschenkt ist. =)

    GA2 fand ich nicht toll, DoS und DDoS konnte ich nicht erklären, und das super Buch hat auch kein meter geholfenn Zum Glück gabs Punktesammler wie die Datenbankaufgabe und die EPK. Diese fragen zu den Englischen TExten, hmmm auch irgendwie doof.

    WISO naja wiso halt=).

    Eine Frage zu WISO, Aufgabe mit Angebots und Nachfrage Kurve, wisst ihr noch Ergebnisse?

    Max Stückpreis und Max Umsatz oder was das war?

  11. Wir würde dir ja gerne helfen...

    Aber die Beschreibung ist wirklich ein bisschen "Allgemein".

    Zeig doch mal ein paar Codeschnipsel.

    Irgendwie musst du ja auf den Tastendruck reagieren.

    Hast wahrscheinlich das Keypress Event benutzt und weisst jetzt nicht wie

    du richtige Buchstaben abfangen sollst?

    Also...TRAU DICH

  12. naja wenn du das array doch nun public hast brauchst du doch nix mehr zu übergeben. Dann ist es ja überall bekannt... Ob das n guter Stil ist ist die andere Frage...

    Mal n schnelles Beispiel wie du ein Array an eine Funktion übergeben kannst.

    Private Function FillArray(strArray() As String)

    Dim i As Integer

    While i < 10

    strArray(i) = "TEST"

    i = i + 1

    Wend

    End Function

    Private Sub Form_Load()

    Dim strArray(10) As String

    Dim i As Integer

    Call FillArray(strArray)

    While i < 10

    MsgBox strArray(i)

    i = i + 1

    Wend

    End Sub

  13. Nur noch mal als anregung oder so...

    Was mir persönlich sehr gut gefallen hat:

    Eine Tabelle selbst erstellen und zwar mit

    DataTable MyTable = new DataTable

    Diese Tabelle kann man dann mit zeilen und spalten füllen und später an ein DataGridView binden... funktioniert super...:)

    mfg

    MSC

  14. hmmm,

    in PageLoad rufst du die Funtion TourenArray auf, welche dir dein Array füllt,

    das Array ist allerdings private, das heisst PageLoad kennt das Array strArray gar nicht,

    strArray = tourenArray(strSql)

    oder du machst das strArray halt public (hmmnaaajaaaaaa...)

    Ausserdem vermisse ich irgendwie den Datentyp der Funktion?

    Und die Funktion gibt nicht das komplette Array zurück sondern nur das element an der Stelle j...

    Sorry bin C# - ler....

    Das ist mir jetzt alles mal so aufgefallen, hoffe konnte dir weiter helfen....:)

    mfg

    MSC

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...