Files
BeWoPlaner/BeWo/Office/WordProcessor.cs
2019-07-10 10:11:10 +02:00

1003 lines
30 KiB
C#

//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Reflection;
//using System.Security.AccessControl;
//using System.Text;
//using System.Windows;
//using BS.Shared;
//using BS.Shared.Core;
//using BS.Shared.DataContracts;
//using BeWo.Office.Types;
//using BeWo.ServiceProxy;
//using BeWo.View.Detail;
//using BeWo.ViewModel;
//using Microsoft.Office.Interop.Word;
//using System.IO;
//using Application = Microsoft.Office.Interop.Word.Application;
//using Word = Microsoft.Office.Interop.Word;
//namespace BeWo.Office
//{
// //struct TCellField
// //{
// // internal int CellIndex;
// // internal String FieldName;
// // internal String Text;
// //}
// public class WordProcessor
// {
// private Application wordApp;
// private Document wordDoc;
// private String documentPath;
// private ITableModel tableModel;
// private IProgress progress;
// private bool appCreated;
// private bool createFormLetter = true;
// private ViewDestination viewDestination;
// private Dictionary<String, String> usedFieldNames;
// private String tempName;
// private int pictureMergeFieldStart;
// private float placeHolderWidth;
// private float placeHolderHeight;
// private bool removeLineFeed = true;
// private IConverter converter;
// private bool fileSaved;
// public FileAttachmentDC FileAttachment { get; set; }
// private Document tmpDoc;
// public WordDocumentTemplateView TemplateView { get; set; }
// public String DocumentPath
// {
// get { return documentPath; }
// set { documentPath = value; }
// }
// public ITableModel TableModel
// {
// get { return this.tableModel; }
// set { this.tableModel = value; }
// }
// public IProgress Progress
// {
// get { return this.progress; }
// set { this.progress = value; }
// }
// public bool CreateFormLetter
// {
// get { return this.createFormLetter; }
// set { this.createFormLetter = value; }
// }
// public bool RemoveLineFeed
// {
// get { return this.removeLineFeed; }
// set { this.removeLineFeed = value; }
// }
// public bool OptimizePictureSize { get; set; }
// private void OpenWordApplication()
// {
// appCreated = true;
// wordApp = new Application();
// wordApp.DocumentBeforeSave += wordApp_DocumentBeforeSave;
// var events = (ApplicationEvents4_Event)wordApp;
// events.Quit += Quit;
// }
// void wordApp_DocumentBeforeSave(Document doc, ref bool saveAsUI, ref bool cancel)
// {
// if (!viewDestination.Equals(ViewDestination.Edit)) return;
// fileSaved = true;
// tmpDoc = doc;
// }
// void Quit()
// {
// if (viewDestination.Equals(ViewDestination.Preview))
// {
// File.Delete(documentPath);
// return;
// }
// if (!viewDestination.Equals(ViewDestination.Edit) || !fileSaved) return;
// var binaryData = new FileStream(documentPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
// if (FileAttachment.FileAttachmentOid.HasValue)
// TemplateView.DoFileUpdate(binaryData, Path.GetFileName(documentPath), FileAttachment.Description, FileAttachment.FileAttachmentOid.Value, () => CloseAndDispose(binaryData), (int)FileAttachment.FileAttachmentType);
// fileSaved = false;
// }
// public void CloseAndDispose(Stream binaryData)
// {
// binaryData.Close();
// binaryData.Dispose();
// File.Delete(documentPath);
// }
// public void CreateReport(ViewDestination destination, IProgress progress, IConverter converter)
// {
// var cancelled = false;
// try
// {
// viewDestination = destination;
// pictureMergeFieldStart = 0;
// OpenWordApplication();
// this.converter = converter;
// this.progress = progress;
// if (File.Exists(documentPath))
// {
// if (tableModel != null)
// {
// if (tableModel.Count > 0 && this.progress != null)
// {
// this.progress.Init("Erstelle Bericht", tableModel.Count*2, "Lade Bericht...", true);
// }
// }
// if (viewDestination == ViewDestination.Edit)
// {
// wordDoc = wordApp.Documents.Open("\"" + documentPath + "\"");
// }
// else
// {
// File.Copy(documentPath, GetWordDocumentTempPath());
// object missing = Missing.Value;
// wordDoc = wordApp.Documents.Open("\"" + GetWordDocumentTempPath() + "\"",
// ref missing, ref missing, ref missing,
// ref missing, ref missing, ref missing,
// ref missing, ref missing, ref missing,
// ref missing, false);
// }
// if (wordDoc != null)
// {
// wordDoc.Activate();
// }
// usedFieldNames = GetUsedFieldNames();
// PrepareDocument();
// InsertData(ref cancelled);
// if (cancelled)
// {
// Dispose();
// return;
// }
// if (this.progress != null)
// {
// if (this.progress.Cancelled)
// {
// Dispose();
// return;
// }
// }
// switch (destination)
// {
// case ViewDestination.Edit:
// wordApp.Visible = true;
// appCreated = false;
// break;
// case ViewDestination.Preview:
// CreateDocument(false, destination);
// wordApp.Visible = true;
// appCreated = false;
// break;
// case ViewDestination.Printer:
// CreateDocument(true, destination);
// wordDoc.Close(WdSaveOptions.wdDoNotSaveChanges);
// if (Progress != null)
// Progress.Complete();
// return;
// case ViewDestination.File:
// CreateDocument(false, destination);
// if (this.converter != null)
// {
// this.converter.Convert();
// appCreated = false;
// wordDoc.Close(WdSaveOptions.wdDoNotSaveChanges);
// wordApp.Quit();
// }
// else
// {
// wordDoc.SaveAs();
// }
// break;
// default:
// Dispose();
// break;
// }
// if (Progress != null)
// Progress.Complete();
// }
// else
// {
// throw new FileNotFoundException(documentPath);
// }
// if (destination != ViewDestination.File)
// wordDoc.Saved = true;
// }
// catch (Exception ex)
// {
// if (Progress != null)
// Progress.Complete();
// Dispose();
////#if DEBUG
//// var streamWriter =
//// new StreamWriter(
//// Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "WordProcessorErrorLog.txt"), true);
//// var str = string.Format("{0}\n{1}\n\n", ex.Message, ex.StackTrace);
//// var exIterator = ex;
//// while (exIterator != null)
//// {
//// str += string.Format("{0}\n{1}\n\n", exIterator.Message, exIterator.StackTrace);
//// var tmpex = exIterator.InnerException;
//// exIterator = tmpex.InnerException;
//// }
//// streamWriter.WriteLine(str);
//// streamWriter.Flush();
//// streamWriter.Close();
////#endif
// throw ex;
// }
// }
// public void EditDocument()
// {
// CreateReport(ViewDestination.Edit, null, null);
// }
// private void PrepareDocument()
// {
// if (viewDestination != ViewDestination.Edit)
// {
// foreach (MailMergeField field in wordDoc.MailMerge.Fields)
// {
// if (field.Code.Text.ToLower().IndexOf("foto") >= 0)
// {
// field.Select();
// pictureMergeFieldStart = wordApp.Selection.Range.Start;
// return;
// }
// }
// }
// }
// private void ReplacePicture(InlineShape shape)
// {
// int endPos = shape.Range.End;
// if (wordDoc.Range(endPos, endPos + 1).Fields.Count > 0)
// {
// Field mailField = wordDoc.Range(endPos, endPos + 1).Fields[1];
// String code = mailField.Code.Text;
// if (code.ToLower().IndexOf("foto") >= 0)
// {
// mailField.Select();
// if (wordApp.Selection.Range.Start == endPos)
// {
// ReplacePictureWithFile(shape, wordApp.Selection.Text);
// mailField.Delete();
// }
// }
// }
// }
// private void ReplacePictureWithFile(InlineShape shape, String fileName)
// {
// float widthPlaceHolder = shape.Width;
// float heightPlaceHolder = shape.Height;
// int pos = shape.Range.Start;
// shape.Delete();
// InsertPictureAtPos(fileName, widthPlaceHolder, heightPlaceHolder, pos);
// }
// private void InsertPictureAtPos(String fileName, float width, float height, int pos)
// {
// if (!String.IsNullOrEmpty(fileName))
// {
// wordApp.Selection.SetRange(pos, pos);
// String filePath = Path.Combine(Path.GetTempPath(), fileName);
// OfficeManager.AddOpenFile(filePath);
// if (File.Exists(filePath))
// {
// if (OptimizePictureSize)
// {
// //filePath = DTConvertPicture(lFilePath, PictureConverterPath, aWidth, aHeight, 100)
// //OfficeManager.AddOpenFile(filePath);
// }
// InlineShape newPicture = wordApp.Selection.InlineShapes.AddPicture(filePath, false, true);
// float widthOrg = newPicture.Width;
// float heightOrg = newPicture.Height;
// float newWidth;
// float newHeight;
// if ((widthOrg/width) > (heightOrg/height))
// {
// newWidth = width;
// newHeight = heightOrg*(width/widthOrg);
// }
// else
// {
// newHeight = height;
// newWidth = widthOrg*(height/heightOrg);
// }
// newPicture.Height = newHeight;
// newPicture.Width = newWidth;
// }
// }
// }
// private void CreateDocument(bool print, ViewDestination destination)
// {
// if (CreateFormLetter)
// CreateDocumentWithMailMerge(print, destination);
// else
// CreateDocumentWithTable(print);
// }
// private void CreateDocumentWithTable(bool print)
// {
// if (Progress != null)
// {
// if (Progress.Cancelled)
// return;
// Progress.SetText("Erstelle Bericht");
// }
// DeleteUnusedFields();
// Table templateTable = GetTemplateTable();
// if (templateTable != null)
// {
// int count = tableModel.Count;
// int fieldRangeStart = templateTable.Rows[GetDataRowFromTable(templateTable)].Range.Start;
// wordApp.Selection.SetRange(fieldRangeStart, fieldRangeStart);
// wordDoc.MailMerge.Fields.AddNext(wordApp.Selection.Range);
// wordApp.Selection.SetRange(fieldRangeStart, templateTable.Range.End);
// wordApp.Selection.Copy();
// for (int i = 1; i <= count - 1; i++)
// {
// wordApp.Selection.Paste();
// if (Progress != null)
// {
// if (Progress.Cancelled)
// {
// wordDoc.MailMerge.ViewMailMergeFieldCodes = 0;
// return;
// }
// if (i > count) i = count;
// Progress.ProgressTo(1, "Erstelle Bericht (" + ((i*100)/count) + "%)", false);
// }
// }
// if (Progress != null)
// Progress.ProgressTo(2, "Erstelle Bericht (100%)", false);
// wordApp.Selection.SetRange(fieldRangeStart, fieldRangeStart + 1);
// wordApp.Selection.Delete();
// }
// wordDoc.MailMerge.ViewMailMergeFieldCodes = 0;
// if (Progress != null)
// {
// if (Progress.Cancelled)
// return;
// Progress.SetText("Bilder werden geladen");
// }
// ReplacePicturesInDocument();
// if (print)
// {
// wordDoc.PrintOut(true);
// }
// }
// private Table GetTemplateTable()
// {
// return wordDoc.Tables.Cast<Table>().FirstOrDefault(TableContainsFieldsInSecondRow);
// }
// private static bool TableContainsFieldsInSecondRow(Table table)
// {
// return table.Range.Fields.Count > 0 && table.Range.Fields.Cast<Field>().Any(field => field.Type == WdFieldType.wdFieldMergeField);
// }
// private static int GetDataRowFromTable(Table table)
// {
// if (table.Rows.Count >= 2)
// return 2;
// return table.Rows.Count == 1 ? 1 : 0;
// }
// private void ReplacePicturesInDocument()
// {
// if (pictureMergeFieldStart > 0)
// {
// if (wordDoc.InlineShapes.Count > 0)
// {
// List<InlineShape> shapes = wordDoc.InlineShapes.Cast<InlineShape>().ToList();
// foreach (InlineShape shape in shapes)
// ReplacePicture(shape);
// }
// }
// }
// private void FindPicturePlaceHolder()
// {
// if (pictureMergeFieldStart > 0)
// {
// foreach (InlineShape shape in wordDoc.InlineShapes)
// {
// int endPos = shape.Range.End;
// foreach (Field field in wordDoc.MailMerge.Fields)
// {
// String code = field.Code.Text;
// if (code.ToLower().IndexOf("foto") >= 0)
// {
// field.Select();
// if (wordApp.Selection.Range.Start == endPos)
// {
// placeHolderWidth = shape.Width;
// placeHolderHeight = shape.Height;
// }
// }
// }
// }
// }
// }
// private void ReplaceMailMergePicture()
// {
// if (pictureMergeFieldStart > 0)
// {
// foreach (InlineShape shape in wordDoc.InlineShapes)
// {
// int endPos = shape.Range.End;
// foreach (MailMergeField field in wordDoc.MailMerge.Fields)
// {
// String code = field.Code.Text;
// if (code.ToLower().IndexOf("foto") >= 0)
// {
// field.Select();
// if (wordApp.Selection.Range.Start == endPos)
// {
// shape.Delete();
// InsertPictureAtPos(wordApp.Selection.Text, placeHolderWidth,
// placeHolderHeight, wordApp.Selection.Range.Start);
// field.Delete();
// return;
// }
// }
// }
// }
// foreach (Field testField in wordDoc.Fields)
// {
// String code = testField.Code.Text;
// if (code.ToLower().IndexOf("foto") >= 0 &&
// code.ToLower().IndexOf("includepicture") >= 0)
// {
// wordApp.ActiveWindow.View.ShowFieldCodes = true;
// testField.Select();
// wordApp.Selection.SetRange(wordApp.Selection.Start, wordApp.Selection.Start);
// wordApp.Selection.MoveRight(WdUnits.wdCharacter, 18);
// wordApp.Selection.TypeText(
// "\"C:\\Dokumente und Einstellungen\\christian.BEYONDSOFT\\Lokale Einstellungen\\Temp\\");
// wordApp.ActiveWindow.View.ShowFieldCodes = false;
// return;
// }
// }
// }
// }
// private void DeleteUnusedFields()
// {
// var deletedFields = new List<MailMergeField>();
// foreach (MailMergeField field in wordDoc.MailMerge.Fields)
// if (field.Type == WdFieldType.wdFieldMergeField)
// if (!MailMergeFieldExistsInDataSource(field))
// deletedFields.Add(field);
// foreach (var deletedField in deletedFields)
// deletedField.Delete();
// }
// private bool MailMergeFieldExistsInDataSource(MailMergeField field)
// {
// String fieldCode = field.Code.Text.Trim();
// String[] array = tableModel.GetFieldNames();
// if (array != null)
// foreach (var fieldName in array)
// if (fieldCode.IndexOf(" " + fieldName) >= 0 || fieldCode.IndexOf(" \"" + fieldName + "\"") >= 0)
// return true;
// array = tableModel.GetVariableNames();
// if (array != null)
// foreach (var fieldName in array)
// if (fieldCode.IndexOf(" " + fieldName) >= 0 || fieldCode.IndexOf(" \"" + fieldName + "\"") >= 0)
// return true;
// return false;
// }
// private void CreateDocumentWithMailMerge(bool print, ViewDestination destination)
// {
// if (Progress != null)
// {
// if (Progress.Cancelled)
// return;
// Progress.SetText("Drucke Objekt");
// }
// DeleteUnusedFields();
// if (pictureMergeFieldStart > 0)
// FindPicturePlaceHolder();
// wordDoc.MailMerge.DataSource.ActiveRecord = WdMailMergeActiveRecord.wdFirstRecord;
// for (int i = 1; i <= tableModel.Count; i++)
// {
// if (Progress != null)
// {
// if (Progress.Cancelled)
// return;
// Progress.ProgressTo(1, "Drucke Objekt " + i + " von " + tableModel.Count, false);
// }
// wordDoc.MailMerge.ViewMailMergeFieldCodes = 0;
// //Tempbilder löschen
// if (pictureMergeFieldStart > 0)
// {
// //funktioniert nur beim ersten Datensatz
// if (i == 1)
// ReplaceMailMergePicture();
// }
// if (print)
// {
// wordDoc.Activate();
// wordDoc.PrintOut(i != tableModel.Count);
// }
// if (destination == ViewDestination.Preview)
// continue;
// wordDoc.MailMerge.DataSource.ActiveRecord = WdMailMergeActiveRecord.wdNextRecord;
// }
// }
// public void Dispose()
// {
// if (appCreated && wordApp != null)
// wordApp.Quit(WdSaveOptions.wdDoNotSaveChanges);
// }
// private String GetWordDocumentTempPath()
// {
// if (String.IsNullOrEmpty(tempName))
// tempName = Path.Combine(Path.GetTempPath(), Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + ".doc");
// return tempName;
// }
// private String CreateTempPath(String fileName)
// {
// var path = Path.Combine(Path.GetTempPath(), fileName);
// OfficeManager.AddOpenFile(path);
// return path;
// }
// private void InsertData(ref bool cancelled)
// {
// wordApp.Options.UpdateFieldsAtPrint = false;
// if (tableModel != null)
// {
// var path = CreateTempPath(Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + ".txt");
// CreateMailMergeTextFile(path, ref cancelled);
// if (!cancelled)
// {
// if (viewDestination == ViewDestination.Edit)
// wordApp.Visible = true;
// wordDoc.MailMerge.OpenDataSource(path);
// }
// }
// }
// private void CreateMailMergeTextFile(String fileName, ref bool cancelled)
// {
// var fieldNamesText = new StringBuilder();
// var emptyDataFieldsText = new StringBuilder();
// var allFieldNames = GetAllFieldNames();
// var textStringBuilder = new StringBuilder();
// foreach (String s in allFieldNames)
// {
// fieldNamesText.Append(s);
// fieldNamesText.Append(Convert.ToChar(59));
// emptyDataFieldsText.Append("\"");
// emptyDataFieldsText.Append(s);
// emptyDataFieldsText.Append("\"");
// emptyDataFieldsText.Append(Convert.ToChar(59));
// }
// fieldNamesText.Remove(fieldNamesText.Length - 1, 1);
// emptyDataFieldsText.Remove(emptyDataFieldsText.Length - 1, 1);
// textStringBuilder.Append(fieldNamesText);
// textStringBuilder.Append("\r\n");
// tableModel.MoveFirst();
// int count = 1;
// if (!tableModel.DataAvailable)
// {
// textStringBuilder.Append(emptyDataFieldsText);
// textStringBuilder.Append("\r\n");
// }
// while (tableModel.DataAvailable)
// {
// if (Progress != null)
// {
// if (Progress.Cancelled)
// {
// //?Wird im VB Code nicht gesetzt cancelled = true;
// return;
// }
// Progress.ProgressTo(1, "Lade Objekt " + count + " von " + tableModel.Count, false);
// }
// fieldNamesText.Clear();
// foreach (String item in allFieldNames)
// {
// String propertyValue = String.Empty;
// if (usedFieldNames.ContainsKey(item))
// {
// Object obj = tableModel.GetPropertyValue(item);
// if (obj != null)
// propertyValue = obj.ToString();
// }
// if (propertyValue.IndexOf(Convert.ToChar(59)) >= 0)
// propertyValue = propertyValue.Replace(Convert.ToChar(59), ',');
// if (propertyValue.IndexOf('"') >= 0)
// propertyValue = propertyValue.Replace('"', '\'');
// //replace "Anführungstriche Oben" Chr(147)
// if (propertyValue.IndexOf(Convert.ToChar(147)) >= 0)
// propertyValue = propertyValue.Replace(Convert.ToChar(147), '-');
// //replace "Anführungstriche Unten" Chr(132)
// if (propertyValue.IndexOf(Convert.ToChar(132)) >= 0)
// propertyValue = propertyValue.Replace(Convert.ToChar(132), '-');
// if (RemoveLineFeed)
// {
// if (propertyValue.IndexOf(Convert.ToChar(10)) >= 0)
// propertyValue =
// propertyValue.Replace(String.Format("{0}{1}", Convert.ToChar(13), Convert.ToChar(10)),
// " ");
// }
// fieldNamesText.Append("\"");
// fieldNamesText.Append(propertyValue);
// fieldNamesText.Append("\"");
// fieldNamesText.Append(Convert.ToChar(59));
// }
// fieldNamesText.Remove(fieldNamesText.Length - 1, 1);
// textStringBuilder.Append(fieldNamesText);
// textStringBuilder.Append("\n");
// count++;
// tableModel.MoveNext();
// }
// File.WriteAllText(fileName, textStringBuilder.ToString(), Encoding.Default);
// }
// private Dictionary<String, String> GetUsedFieldNames()
// {
// var fieldNames = new Dictionary<String, String>();
// var sb = new StringBuilder();
// foreach (Range range in wordDoc.StoryRanges)
// {
// sb.Append(range.Text);
// }
// String text = sb.ToString();
// int pos = text.IndexOf(Convert.ToChar(171)) + 1;
// while (pos > 0)
// {
// int stop = text.IndexOf(Convert.ToChar(187), pos) + 1;
// if (stop > 0)
// {
// String fieldName = text.Substring(pos, stop - pos - 1);
// if (!fieldNames.ContainsKey(fieldName))
// fieldNames.Add(fieldName, fieldName);
// pos = text.IndexOf(Convert.ToChar(171), stop) + 1;
// }
// else
// pos = 0;
// }
// return fieldNames;
// }
// private String[] GetAllFieldNames()
// {
// var fieldNameDict = new Dictionary<String, bool>();
// var fields = new List<String>();
// String[] array = tableModel.GetFieldNames();
// if (array != null)
// {
// foreach (string fieldName in array)
// {
// if (!fieldNameDict.ContainsKey(fieldName))
// {
// fields.Add(fieldName);
// fieldNameDict.Add(fieldName, true);
// }
// }
// }
// array = tableModel.GetVariableNames();
// if (array != null)
// {
// foreach (string fieldName in tableModel.GetVariableNames())
// {
// if (!fieldNameDict.ContainsKey(fieldName))
// {
// fields.Add(fieldName);
// fieldNameDict.Add(fieldName, true);
// }
// }
// }
// return fields.ToArray();
// }
///* ~WordProcessor()
// {
// Finalize();
// }
// */
///*
// private Dictionary<String, String> GetUsedFieldNamesCSV()
// {
// var selected = new Dictionary<String, String>();
// String tmpStr = File.ReadAllText(this.documentPath);
// tmpStr = tmpStr.Replace("\"", "");
// tmpStr = tmpStr.Replace("\r\n", "");
// String[] fields = tmpStr.Split(new String[] { OfficeManager.CSV_DELIMITER }, StringSplitOptions.None);
// foreach (var fieldName in fields)
// {
// selected.Add(fieldName, fieldName);
// }
// return selected;
// }
//*/
///*
// private String GetExcelDocumentTempPath()
// {
// if (String.IsNullOrEmpty(this.tempName))
// this.tempName = Path.Combine(Path.GetTempPath(), Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + ".csv");
// return this.tempName;
// }
//*/
///*
// private String EscapeCSVValue(String value)
// {
// String returnValue = value.Replace(Convert.ToChar(147), '-');
// returnValue = returnValue.Replace(Convert.ToChar(132), '-');
// returnValue = returnValue.Replace(Convert.ToChar(13), ' ');
// returnValue = returnValue.Replace(Convert.ToChar(10), ' ');
// returnValue = returnValue.Replace("\"", "\"\"");
// return "\"" + returnValue + "\"";
// }
//*/
///*
// private TCellField GetCellFieldFromCell(Cell cell)
// {
// var cellField = new TCellField();
// String cellText = cell.Range.Text;
// int pos = cellText.IndexOf(Convert.ToChar(171));
// String text = String.Empty;
// if (pos > 0)
// {
// text = cellText.Substring(0, pos);
// }
// int stop = 0;
// bool replaceText = false;
// while (pos >= 0 && stop >= 0)
// {
// stop = cellText.IndexOf(Convert.ToChar(187), pos);
// if (stop >= 0)
// {
// replaceText = true;
// String name = cellText.Substring(pos + 1, stop - pos - 1);
// cellField.FieldName = name;
// cellField.Text = text + Convert.ToChar(171) + name + Convert.ToChar(187);
// }
// pos = cellText.IndexOf(Convert.ToChar(171), stop);
// if (pos > stop)
// text = cellText.Substring(stop + 1, pos - stop - 1);
// }
// if (replaceText)
// cell.Range.Text = "";
// return cellField;
// }
// */
///*
// private String BuildCSVHeaderString()
// {
// var sb = new StringBuilder();
// foreach (var name in usedFieldNames.Values)
// {
// if (sb.Length > 0)
// sb.Append(OfficeManager.CSV_DELIMITER);
// sb.Append(EscapeCSVValue(name));
// }
// return sb.ToString();
// }
// */
///*
// private String CreateCSVData()
// {
// var sb = new StringBuilder();
// int count = 1;
// this.tableModel.MoveFirst();
// while (this.tableModel.DataAvailable)
// {
// if (Progress != null)
// {
// if (Progress.Cancelled)
// return sb.ToString();
// Progress.ProgressTo(1, "Lade Objekt " + count + " von " + this.tableModel.Count, false);
// }
// foreach (var field in this.usedFieldNames.Values)
// {
// if (sb.Length > 0)
// sb.Append(OfficeManager.CSV_DELIMITER);
// Object obj = this.tableModel.GetPropertyValue(field);
// if (obj != null)
// sb.Append(EscapeCSVValue(obj.ToString()));
// }
// sb.Append("\n");
// count++;
// this.tableModel.MoveNext();
// }
// return sb.ToString();
// }
// */
///*
// private String GetExcelPath()
// {
// // If (mExcelPath = "") Then
// // Dim lExcelApp As Excel.Application
// // Set lExcelApp = New Excel.Application
// // Let mExcelPath = """" & lExcelApp.Path & "\Excel.exe" & """ "
// //End If
// //Let GetExcelPath = mExcelPath
// return null;
// }
//*/
////Öffnet eine CSV-Datei und liest sie in die aktuelle Tabelle ab Zeile 1 Spalte 1
// //fName = Dateiname & Pfad
// //FS = das Spaltentrennzeichen (Field Seperator), im Deutschen ein Semikolon
///*
// private void ReadfromCSVSimple(String fname)
// {
// ReadfromCSVSimple(fname, ";");
// }
//*/
///*
// private void ReadfromCSVSimple(String fname, String FS)
// {
// // Dim hfile As Integer ' Filehandle bzw. Dateinummer
// //Dim i As Long ' Zähler über alle Zeilen
// //Dim j As Integer ' Zähler über alle Spalten
// //Dim OneLine As String ' Eine Zeile als String
// //Dim myArr As Variant ' eine Zeile in Felder getrennt
// //hfile = FreeFile
// //Open fname For Input As #hfile
// //While Not EOF(hfile)
// // i = i + 1
// // Line Input #hfile, OneLine
// // myArr = Split(OneLine, FS)
// // ' With Range(Cells(i, 1), Cells(i, 1 + UBound(myArr)))
// // ' .NumberFormat = "@"
// // ' .Value = myArr
// // ' End With
// // For j = 0 To UBound(myArr)
// // mExcelApp.Cells(i, 1 + j).NumberFormat = "@"
// // mExcelApp.Cells(i, 1 + j).Value = myArr(j)
// // Next
// //Wend
// //Close #hfile
// }
//*/
// }
//}