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 :)