update 20250126
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -314,7 +314,7 @@ namespace OnDocOffice
|
||||
|
||||
if (runmacros == true)
|
||||
{
|
||||
Logging.Logging.Debug("Makros auslesen", "Edit_Document",dokumentid);
|
||||
Logging.Logging.Debug("Makros auslesen", "Edit_Document", dokumentid);
|
||||
Database.DB db = new Database.DB(connectstring);
|
||||
db.Get_Tabledata("Select * from ondoc_macros where dokumentid='" + dokumentid + "' order by reihenfolge", false, true);
|
||||
foreach (DataRow dr in db.dsdaten.Tables[0].Rows)
|
||||
@@ -324,9 +324,11 @@ namespace OnDocOffice
|
||||
Logging.Logging.Debug("Makro ", "Edit_Document", dr[0].ToString());
|
||||
word.Run(dr[0].ToString());
|
||||
}
|
||||
catch (Exception e) {
|
||||
catch (Exception e)
|
||||
{
|
||||
Logging.Logging.Debug("MakroError ", "Edit_Document", e.Message);
|
||||
string a = e.Message; }
|
||||
string a = e.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
//clsProcessWatch.AddToList(dokumentid, filename, "Word");
|
||||
@@ -452,7 +454,7 @@ namespace OnDocOffice
|
||||
|
||||
return Convert.ToBase64String(imageArray);
|
||||
}
|
||||
public string Generate_Word_in_Office(ref clsDocData docdata, ref clsdok dok, string vorlage, string connectionstring, string tempdir, string dokumentid, string apptype, string extension, int OfficeSleep, int bookmarks_docio, bool vbfilemanagment)
|
||||
public string Generate_Word_in_Office(ref clsDocData docdata, ref clsdok dok, string vorlage, string connectionstring, string tempdir, string dokumentid, string apptype, string extension, int OfficeSleep, int bookmarks_docio, bool vbfilemanagment, bool editdoc)
|
||||
{
|
||||
connectstring = connectionstring;
|
||||
DialogGenerate dialogGenerate = new DialogGenerate(docdata.Bezeichnung.ToString());
|
||||
@@ -623,25 +625,43 @@ namespace OnDocOffice
|
||||
cursortm = "";
|
||||
foreach (clsDocValue dv in docdata.DocValues)
|
||||
{
|
||||
if (dv.TMBeginn.ToString().Contains("Tagesdatum"))
|
||||
dv.used = 0;
|
||||
if (dv.TMBeginn.Contains("CompanyBBEB99")) { dv.used = 1; };
|
||||
if (dv.TMBeginn.Contains("EDKCursor"))
|
||||
{
|
||||
int a = 1;
|
||||
dv.used = 1;
|
||||
cursortm = dv.TMBeginn;
|
||||
}
|
||||
if (dv.FieldName.Contains("TGEDKCursor"))
|
||||
{
|
||||
dv.used = 1;
|
||||
cursorfeld = dv.FieldName;
|
||||
}
|
||||
|
||||
|
||||
if (dv.FieldName.ToString() != "") { dv.used = 1; };
|
||||
|
||||
}
|
||||
|
||||
foreach (Microsoft.Office.Interop.Word.Bookmark bm in worddoc.Bookmarks)
|
||||
{
|
||||
clsDocValue dv = docdata.DocValues.Find(x => x.TMBeginn == bm.Name);
|
||||
if (dv != null) { dv.used = 1; }
|
||||
}
|
||||
foreach (clsDocValue dv in docdata.DocValues)
|
||||
{
|
||||
if (dv.used == 0) { continue; }
|
||||
try
|
||||
{
|
||||
if (dv.TMBeginn.ToString().Contains("TGEDKCursor"))
|
||||
{
|
||||
//if (dv.TMBeginn.ToString() == "TGEDKCursor" || dv.TMBeginn.ToString() == "TGEDKCursorB" ||
|
||||
// dv.FieldName.ToString() == "TGEDKCursor" || dv.FieldName.ToString() == "TGEDKCursorB") {
|
||||
cursorpositionieren = true;
|
||||
cursortm = dv.TMBeginn.ToString();
|
||||
//break;
|
||||
}
|
||||
if (dv.FieldName.ToString().Contains("TGEDKCursor"))
|
||||
{
|
||||
cursorpositionieren = true;
|
||||
cursorfeld = dv.FieldName.ToString();
|
||||
//break;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
@@ -650,34 +670,32 @@ namespace OnDocOffice
|
||||
|
||||
//20250119 - nur befüllte werte übermitteln'
|
||||
if (dv.Value.ToString().Trim() != "")
|
||||
{
|
||||
{
|
||||
if (dv.TMBeginn.ToString() != "" && dv.TMEnd.ToString() == "" && !dv.TMBeginn.ToString().Contains("TGEDKCurosr"))
|
||||
{
|
||||
if (dv.TMBeginn.Contains("Zustel"))
|
||||
{
|
||||
int a = 1;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
Logging.Logging.Debug(dv.TMBeginn.ToString(), "Select", dokumentid);
|
||||
worddoc.Bookmarks[dv.TMBeginn.ToString()].Select();
|
||||
//Logging.Logging.Debug(dv.TMBeginn.ToString(), "Select-End", dokumentid);
|
||||
pos = worddoc.Bookmarks[dv.TMBeginn.ToString()].Start;
|
||||
word.Selection.Text = dv.Value.ToString();
|
||||
//Logging.Logging.Debug(dv.TMBeginn.ToString(), "Text-End", dokumentid);
|
||||
pos2 = word.Selection.End;
|
||||
|
||||
//pos = worddoc.Bookmarks[dv.TMBeginn.ToString()].Start;
|
||||
//pos2 = word.Selection.End;
|
||||
// Logging.Logging.Debug(dv.TMBeginn.ToString(), "Selection-End", dokumentid);
|
||||
|
||||
//------------------------------
|
||||
if (dv.TMBeginn.ToString().Substring(0, 19) == "XTGEDKDirektTelefonB" ||
|
||||
dv.TMBeginn.ToString().Substring(0, 23) == "XTGEDKVornameNameBetreue" ||
|
||||
dv.TMBeginn.ToString().Substring(0, 19) == "XTGEDKDirektTelefonZ")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (dv.TMBeginn.Contains("TGEDKDirektTelefonB") || dv.TMBeginn.Contains("TGEDKVornameNameBetreue") || dv.TMBeginn.Contains("TGEDKDirektTelefonZ"))
|
||||
{
|
||||
pos = worddoc.Bookmarks[dv.TMBeginn.ToString()].Start;
|
||||
pos2 = word.Selection.End;
|
||||
word.Selection.MoveLeft(Unit: Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count: 1);
|
||||
word.Selection.TypeText(Text: "");
|
||||
word.Selection.SetRange(Start: pos + 1, End: pos2 + 1);
|
||||
|
||||
if (editdoc) word.Selection.TypeText(Text: " ");
|
||||
word.Selection.SetRange(pos + 1, pos2 + 1);
|
||||
var withBlock = worddoc.Bookmarks;
|
||||
withBlock.Add(Range: word.Selection.Range, Name: dv.TMBeginn.ToString());
|
||||
withBlock.DefaultSorting = Microsoft.Office.Interop.Word.WdBookmarkSortBy.wdSortByName;
|
||||
@@ -685,15 +703,11 @@ namespace OnDocOffice
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dv.TMBeginn.ToString().Substring(0, 22) == "XTGEDKDirektTelefonDokZ" ||
|
||||
dv.TMBeginn.ToString().Substring(0, 20) == "XTGEDKVornameNameDokZ")
|
||||
if (dv.TMBeginn.Contains("TGEDKDirektTelefonDokZ") || dv.TMBeginn.Contains("TGEDKVornameNameDokZ"))
|
||||
{
|
||||
pos = worddoc.Bookmarks[dv.TMBeginn.ToString()].Start;
|
||||
pos2 = word.Selection.End;
|
||||
|
||||
word.Selection.Text = dv.Value.ToString();
|
||||
word.Selection.MoveLeft(Unit: Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count: 1);
|
||||
word.Selection.TypeText(Text: "");
|
||||
word.Selection.TypeText(Text: " ");
|
||||
word.Selection.SetRange(Start: pos + 1, End: pos2 + 1);
|
||||
|
||||
var withBlock = worddoc.Bookmarks;
|
||||
@@ -703,52 +717,60 @@ namespace OnDocOffice
|
||||
}
|
||||
else
|
||||
{
|
||||
//objWord.Visible = True
|
||||
// objWord.Selection.SetRange(Start:= pos, End:= pos2)
|
||||
// With docWord.Bookmarks
|
||||
// .Add(Range:= objWord.Selection.Range, Name:= Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
||||
// .DefaultSorting = Microsoft.Office.Interop.Word.WdBookmarkSortBy.wdSortByName
|
||||
// .ShowHidden = False
|
||||
// End With
|
||||
word.Selection.SetRange(pos, pos2);
|
||||
var withBlock = worddoc.Bookmarks;
|
||||
withBlock.Add(Range: word.Selection.Range, Name: dv.TMBeginn.ToString());
|
||||
withBlock.DefaultSorting = Microsoft.Office.Interop.Word.WdBookmarkSortBy.wdSortByName;
|
||||
withBlock.ShowHidden = false;
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------
|
||||
|
||||
//objWord.Selection.MoveLeft(Unit:= Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count:= 1)
|
||||
// objWord.Selection.MoveLeft(Unit:= Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count:= 2, Extend:= Microsoft.Office.Interop.Word.WdMovementType.wdExtend)
|
||||
// If objWord.Selection.Text = " " Then
|
||||
// objWord.Selection.MoveRight(Unit:= Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count:= 1)
|
||||
// objWord.Selection.MoveLeft(Unit:= Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count:= 1, Extend:= Microsoft.Office.Interop.Word.WdMovementType.wdExtend)
|
||||
// objWord.Selection.Delete(Unit:= Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count:= 1)
|
||||
// End If
|
||||
word.Selection.MoveLeft(Unit: Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count: 1);
|
||||
word.Selection.MoveLeft(Unit: Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count: 2, Extend: Microsoft.Office.Interop.Word.WdMovementType.wdExtend);
|
||||
if (word.Selection.Text == " ")
|
||||
{
|
||||
word.Selection.MoveRight(Unit: Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count: 1);
|
||||
word.Selection.MoveLeft(Unit: Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count: 1, Extend: Microsoft.Office.Interop.Word.WdMovementType.wdExtend);
|
||||
word.Selection.Delete(Unit: Microsoft.Office.Interop.Word.WdUnits.wdCharacter, Count: 1);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
if (dv.TMBeginn.ToString() != "" && dv.TMEnd.ToString() != "" && !dv.TMBeginn.ToString().Contains("TGEDKCursor"))
|
||||
{
|
||||
try
|
||||
if (dv.TMBeginn.ToString() != "" && dv.TMEnd.ToString() != "" && !dv.TMBeginn.ToString().Contains("TGEDKCursor"))
|
||||
{
|
||||
worddoc.Bookmarks[dv.TMBeginn.ToString()].Select();
|
||||
pos = worddoc.Bookmarks[dv.TMBeginn.ToString()].Start;
|
||||
worddoc.Bookmarks[dv.TMEnd.ToString()].Select();
|
||||
pos2 = worddoc.Bookmarks[dv.TMEnd.ToString()].Start;
|
||||
word.Selection.SetRange(pos, pos2);
|
||||
word.Selection.TypeText(Text: dv.Value.ToString());
|
||||
try
|
||||
{
|
||||
worddoc.Bookmarks[dv.TMBeginn.ToString()].Select();
|
||||
pos = worddoc.Bookmarks[dv.TMBeginn.ToString()].Start;
|
||||
worddoc.Bookmarks[dv.TMEnd.ToString()].Select();
|
||||
pos2 = worddoc.Bookmarks[dv.TMEnd.ToString()].Start;
|
||||
word.Selection.SetRange(pos, pos2);
|
||||
word.Selection.TypeText(Text: dv.Value.ToString());
|
||||
var withBlock = worddoc.Bookmarks;
|
||||
withBlock.Add(Range: word.Selection.Range, Name: dv.TMBeginn.ToString());
|
||||
withBlock.DefaultSorting = Microsoft.Office.Interop.Word.WdBookmarkSortBy.wdSortByName;
|
||||
withBlock.ShowHidden = false;
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
if (dv.FieldName.ToString() != "" && !dv.FieldName.Contains("TGEDKCursor"))
|
||||
{
|
||||
try
|
||||
if (dv.FieldName.ToString() != "" && !dv.FieldName.Contains("TGEDKCursor"))
|
||||
{
|
||||
|
||||
worddoc.FormFields[dv.FieldName.ToString()].Result = dv.Value;
|
||||
try
|
||||
{
|
||||
if (dv.FieldName.Contains("cc_"))
|
||||
{
|
||||
word.ActiveDocument.SelectContentControlsByTag(dv.FieldName)[1].Range.Text = dv.Value;
|
||||
}
|
||||
if (worddoc.FormFields[dv.FieldName].TextInput.Width != 0)
|
||||
{
|
||||
int fieldlen = worddoc.FormFields[dv.FieldName].TextInput.Width;
|
||||
worddoc.FormFields[dv.FieldName].TextInput.Width = fieldlen + 5;
|
||||
}
|
||||
worddoc.FormFields[dv.FieldName.ToString()].Result = dv.Value;
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//word.ScreenUpdating = true;
|
||||
Logging.Logging.Debug("Word Befüllen Ende", "clsOffice", dokumentid);
|
||||
@@ -768,7 +790,7 @@ namespace OnDocOffice
|
||||
word.Activate();
|
||||
Logging.Logging.Debug("Start Macros", "clsOffice", dokumentid);
|
||||
|
||||
run_macros(ref docdata, connectionstring);
|
||||
if(!editdoc) run_macros(ref docdata, connectionstring);
|
||||
|
||||
if (cursorpositionieren)
|
||||
{
|
||||
@@ -788,10 +810,11 @@ namespace OnDocOffice
|
||||
|
||||
Thread.Sleep(OfficeSleep);
|
||||
string b64 = fh.Base64FromFile(filename);
|
||||
word.Documents.Open(filename);
|
||||
word.Activate();
|
||||
Logging.Logging.Debug("Word geöffnet", "clsOffice", dokumentid);
|
||||
worddoc = null;
|
||||
|
||||
word.Documents.Open(filename);
|
||||
word.Activate();
|
||||
Logging.Logging.Debug("Word geöffnet", "clsOffice", dokumentid);
|
||||
|
||||
word = null;
|
||||
Logging.Logging.Debug("Generierung abgeschlossen", "clsOffice", dokumentid);
|
||||
dialogGenerate.Close();
|
||||
@@ -1297,8 +1320,8 @@ namespace OnDocOffice
|
||||
}
|
||||
else
|
||||
{
|
||||
// if (docdata.As_Faksimile == "True" && (dv.TMBeginn.ToString() == "TGEDKFunktionLinksB99" || dv.TMBeginn.ToString() == "TGEDKFunktionRechtsB99"))
|
||||
if (docdata.As_Faksimile == "True" && (dv.TMBeginn.ToString().Contains("FunktionLinks") || dv.TMBeginn.ToString().Contains("FunktionRechts")))
|
||||
// if (docdata.As_Faksimile == "True" && (dv.TMBeginn.ToString() == "TGEDKFunktionLinksB99" || dv.TMBeginn.ToString() == "TGEDKFunktionRechtsB99"))
|
||||
if (docdata.As_Faksimile == "True" && (dv.TMBeginn.ToString().Contains("FunktionLinks") || dv.TMBeginn.ToString().Contains("FunktionRechts")))
|
||||
{
|
||||
|
||||
}
|
||||
@@ -1310,11 +1333,12 @@ namespace OnDocOffice
|
||||
{
|
||||
bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString(), true, false);
|
||||
//bookmarkNavigator.MoveToBookmark(dv.TMBeginn.ToString());
|
||||
bookmarkNavigator.InsertText(dv.Value.ToString());
|
||||
//bookmarkNavigator.InsertText(dv.Value.ToString());
|
||||
bookmarkNavigator.ReplaceBookmarkContent(dv.Value.ToString(), true);
|
||||
//TextBodyPart bookmarkContent = bookmarkNavigator.GetBookmarkContent();
|
||||
//string bookmarkText = ((Syncfusion.DocIO.DLS.WParagraph)bookmarkContent.BodyItems.FirstItem).Text;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user