word docs mergen

Status
Niet open voor verdere reacties.

Scoox

Gebruiker
Lid geworden
22 jan 2013
Berichten
100
Hallo, ik ben momenteel met een programma bezig wat meerdere word documenten samen kan voegen. eerst werkte het wel maar nu ben ik bezig met het toevoegen op verschillende volgorde.
Hier een LINK van een forum thred die ik gemaakt heb van de plugin die ik gebruik.

Dit is de error die ik dan krijg:
errrror.png


Dit is mijn code:

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Office.Interop.Word;
using System.Runtime.InteropServices;
using Novacode;
using System.Diagnostics;
using System.IO;
using Spire.Doc;
using Spire.Doc.Documents;

namespace copy_form_fiel_to_file
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //teller
        int teller = 0;
        
       
        //file paths
        string een = "C:\\Users\\Sebastiaan.EXIT-REIZEN\\Desktop\\test map\\1.docx";
        string twee = "C:\\Users\\Sebastiaan.EXIT-REIZEN\\Desktop\\test map\\2.docx";
        string drie = "C:\\Users\\Sebastiaan.EXIT-REIZEN\\Desktop\\test map\\3.docx";
        //switch verwijzingen
        string doc1;
        string doc2;
        string doc3;

        private void btn_klaar_Click_1(object sender, EventArgs e)
        {
            Spire.Doc.Document DocOne = new Spire.Doc.Document();
            DocOne.LoadFromFile(doc1, FileFormat.Docx);
            Spire.Doc.Document DocTwo = new Spire.Doc.Document();
            DocTwo.LoadFromFile(doc2, FileFormat.Docx);
            Spire.Doc.Document Docthree = new Spire.Doc.Document();
            Docthree.LoadFromFile(doc3, FileFormat.Docx);

            //Merge 
            foreach (Spire.Doc.Section sec in DocTwo.Sections)
            {
                DocOne.Sections.Add(sec.Clone());
            }

            //Merge 
            foreach (Spire.Doc.Section sec in Docthree.Sections)
            {
                DocOne.Sections.Add(sec.Clone());
            }

            //save and launch
            DocOne.SaveToFile(@"C:\Users\Sebastiaan.EXIT-REIZEN\Desktop\test map/5.docx", FileFormat.Docx);
            System.Diagnostics.Process.Start(@"C:\Users\Sebastiaan.EXIT-REIZEN\Desktop\test map/5.docx");
        }

        private void btn_document1_Click(object sender, EventArgs e)
        {
            teller = +1;

            switch (teller)
            {
                case 1:
                    doc1 = een;
                    break;
                case 2:
                    doc2 = een;
                    break;
                case 3:
                    doc3 = een;
                    break;
            }
        }

        private void btn_document2_Click(object sender, EventArgs e)
        {
            teller = +1;

            switch (teller)
            {
                case 1:
                    doc1 = twee;
                    break;
                case 2:
                    doc2 = twee;
                    break;
                case 3:
                    doc3 = twee;
                    break;
            }
        }

        private void btn_document3_Click(object sender, EventArgs e)
        {
            teller = +1;

            switch (teller)
            {
                case 1:
                    doc1 = drie;
                    break;
                case 2:
                    doc2 = drie;
                    break;
                case 3:
                    doc3 = drie;
                    break;
            }
        }
    }
}
 
doc2 is een lege string of de filenaam klopt niet?

Het is moeilijk zo debuggen, maar geen idee waarom doc1 wel goed zou gaan
 
de file naam klopt net even na gekeken. zeg maar voor dat doc2 word pas gevult als goed is als de teller 2 aan slaat en dan is het een van de 3 knoppen

Code:
private void btn_document1_Click(object sender, EventArgs e)
        {
            teller = +1;

            if (teller == 1)
            {
                doc1 = een;
            }
            if (teller == 2)
            {
                doc2 = een;
            }
            if (teller == 3)
            {
                doc3 = een;
            }

        }
 
Ik moet zeg maar hebben van als ik op button 1 klik dat dat bestand op doc1 komt en als ik daar na bv op button 3 druk dat die op doc2 zou komen te staan. De volgorde moet dus random aan geklikt kunnen worden.
 
heb het als gevonden bedankt als nog :)

het probleem is:

ik had:
Code:
teller + 1;

Wat ik had moeten doen is :
Code:
teller = teller +1;
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan