Gondoltam egyet, és összedobtam egy programot C# -ban, ami összefűz tetszőleges számú és formátumú word dokumentumot. Nem rég szükségem is lett volna egy ilyenre, de ehelyett egyenként tallóztam be egy új dokumentumból a beillesztendő fájlokat. Lehet, lett volna más megoldás, de már mindegy. A program futtatható exe fájlja és a forráskódja is letölthető a következő linken:
A program fő része gyakorlatilag a következő:
using System.Windows.Forms;
using Word = Microsoft.Office.Interop.Word;
namespace MergeDoc
{
    public partial class Form1 : Form
    {
        OpenFileDialog ofd = new OpenFileDialog();
        public Form1()
        {
            InitializeComponent();
}
        private void browseBtn_Click(object sender, EventArgs e)
        {
            ofd.Multiselect = true;
            ofd.Title = "Jelöld ki az összefűzendő dokumentumokat";
            String filter = "Word 93-2007 (*.doc,*.docx)|*.doc; *.docx|Word 97-2003 (*.doc)|*.doc|Word 2007 (*.docx)|*.docx";
            ofd.Filter = filter;
          
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                openedDocs.Items.Clear();
                foreach (String filename in ofd.FileNames)
                {
                    openedDocs.Items.Add(filename);
                }
            }
        }
        private void saveBtn_Click(object sender, EventArgs e)
        {
            Word.ApplicationClass wordApp = new Word.ApplicationClass();
            object visible = false;
            object doctype = Word.WdNewDocumentType.wdNewBlankDocument;
            object docformat = Word.WdOriginalFormat.wdOriginalDocumentFormat;
            object missing = System.Reflection.Missing.Value;
            Word.Document outdoc = wordApp.Documents.Add(missing, missing, doctype, visible);
            foreach (String filename in openedDocs.Items)
            {
                object file = filename;
                try
                {
                    outdoc.ActiveWindow.Selection.InsertFile(filename);
                }
                catch (System.Runtime.InteropServices.COMException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            try
            {
                wordApp.Documents.Close();
            }
            catch (System.Runtime.InteropServices.COMException)
            {
            }
            finally
            {
                wordApp.Quit();
            }
        }
    }
}
Én nem állítom, hogy tökéletes, de a célnak megfelelt. Egy nap majd talán írok jobbat. Addig is akit érdekel, használja kedvére.
Tesztelve Microsoft Office 2007 mellett lett Windows 7 rendszerben. 
A project Visual Studio 2010 -ben készült de .NET 3.5 verzióra állítva.
 
      
    
         
      
Hozzászólások
Köszi szépen, pont ilyet
Köszi szépen, pont ilyet kerestem! :)
Win7 alatt, Office 2007-el próbáltam és műkszik.
Örülök neki, hogy segíthettem
Örülök neki, hogy segíthettem. Sajnos xp-re még mindig nem írtam meg.
Ez fantasztikus! Köszi!!!
Ez fantasztikus! Köszi!!!
Szívesen :)
Szívesen :)
MergeDoc
Szia! Letöltöttem a progit, de sajnos nem tudom alkalmazni. Segítséget szeretnék kérni az aliSkHZkalmazáshoz. Köszönettel, Péter
verziók
Szia. Ezt már elég régen írtam. Azóta újabb Windowsok is vannak és újabb Word-ok. Milyen verziókkal próbálkozol?
köszönöm!
köszönöm!
tökéletes.
ez volt az egyetlen , ami használható a google által feldobott min. 6 program közül.
Örülök, hogy még ma is segít
Örülök, hogy még ma is segít valakinek :)