|
|
Imports System.IO
|
|
|
Imports System.Data
|
|
|
Imports System.Data.SqlTypes
|
|
|
Imports System.Data.SqlClient
|
|
|
Imports System.Threading
|
|
|
Imports Word
|
|
|
|
|
|
Public Class WordLib
|
|
|
#Region "Deklarationen"
|
|
|
'FileObjekte
|
|
|
Dim objWatcher As New System.IO.FileSystemWatcher()
|
|
|
Dim objResult As System.IO.WaitForChangedResult
|
|
|
|
|
|
'Word
|
|
|
Private WithEvents objWord As Word.ApplicationClass
|
|
|
Private WithEvents docWord As Word.DocumentClass
|
|
|
|
|
|
Private WithEvents objExcel As Excel.ApplicationClass
|
|
|
Private WithEvents docExcel As Excel.WorkbookClass
|
|
|
Private WithEvents sheetExcel As Excel.Worksheet
|
|
|
|
|
|
'Applicationwatcher
|
|
|
Private WithEvents WordWatch As New ApplicationFileWatcher()
|
|
|
|
|
|
'Dokumentdaten
|
|
|
Dim dokudata As New edokadb.clsMyDokumentDaten()
|
|
|
Dim Dokumentdaten As DataTable
|
|
|
Dim DokumenTtyp As New edokadb.clsDokumenttyp()
|
|
|
Dim Office_Vorlage As New edokadb.clsOffice_vorlage()
|
|
|
|
|
|
|
|
|
'Interne Variablen
|
|
|
Dim isactiv As Boolean
|
|
|
Dim Dokument_To_Create As String
|
|
|
Dim Dokument_To_Save As String
|
|
|
Dim Dokument_Temp As String
|
|
|
Dim Cursor_Positionieren As Boolean
|
|
|
Dim IsProtected As Boolean
|
|
|
Dim inEditMode As Boolean
|
|
|
Dim timerloop As Integer
|
|
|
Dim Word_Active As Boolean
|
|
|
|
|
|
Dim m_DokumentID As String
|
|
|
Dim m_DokumentTypnr As Long
|
|
|
Dim m_amsdokument As Bookmark
|
|
|
Dim m_DokumentFilename As String
|
|
|
Dim m_DokumentDatum As DateTime
|
|
|
Dim m_Dokumentname As String
|
|
|
Dim m_CreateDoc As Boolean
|
|
|
Dim m_document_saved As Boolean
|
|
|
Dim CheckDokumentname As String
|
|
|
|
|
|
'IDV-Definitionen
|
|
|
Private m_objdc As dc.Application
|
|
|
Dim xx As Object
|
|
|
Dim idvdll As New IDVMakros.Application()
|
|
|
Dim OhneIDV As Boolean = False
|
|
|
|
|
|
'IDV-Definitionen, sofern IDV nicht vorhanden ist (Entwicklung)
|
|
|
'Dim dc As Object
|
|
|
'Dim m_objdc As Object
|
|
|
'Dim idvdll As Object
|
|
|
'Dim xx As Object
|
|
|
'Private dckein As Integer
|
|
|
'Private dcinvisible As Integer
|
|
|
'Private dcMTBS As Long
|
|
|
'Dim OhneIDV As Boolean = True
|
|
|
|
|
|
'Progressbar
|
|
|
Public ProgressBar As New frmProgress()
|
|
|
|
|
|
'Datentabellen
|
|
|
Public Save_Dokument As New DataTable()
|
|
|
Public Save_Notizen As New DataTable()
|
|
|
Public Save_ColdIndex As DataTable
|
|
|
Public Save_Dokumentwerte As DataTable
|
|
|
Public Save_Dokumentzuordnungen As DataTable
|
|
|
Public Save_Dokumentinfomeldungen As DataTable
|
|
|
Public Save_DokumentFunktionen As DataTable
|
|
|
Public save_historystatus As Integer
|
|
|
Public save_dokumentersetzen As DataTable
|
|
|
Public save_dokumentcoldindex As DataTable
|
|
|
Public Dokumentcoldindex_Changed As Boolean
|
|
|
Public dokumentcoldindex_status As String
|
|
|
Public dokumentid_changed As Boolean
|
|
|
Public dokumentidalt As String
|
|
|
Public Ersetzte_Dokumente_Reaktivieren As Boolean
|
|
|
Public txtBemerkung_Verantwortlicher As String
|
|
|
Public save_verantwortlicher As Integer
|
|
|
Public save_stv As Integer
|
|
|
|
|
|
Dim Save_DateTime As DateTime
|
|
|
Dim Excel_Dokument As Boolean
|
|
|
Dim DocReadonly As Boolean
|
|
|
|
|
|
Dim m_txtpartner As String
|
|
|
Property txtPartner() As String
|
|
|
Get
|
|
|
Return m_txtpartner
|
|
|
End Get
|
|
|
Set(ByVal Value As String)
|
|
|
m_txtpartner = Value
|
|
|
End Set
|
|
|
End Property
|
|
|
|
|
|
Dim m_txtdokumenttyp As String
|
|
|
Property txtDokumenttyp() As String
|
|
|
Get
|
|
|
Return m_txtdokumenttyp
|
|
|
End Get
|
|
|
Set(ByVal Value As String)
|
|
|
m_txtdokumenttyp = Value
|
|
|
End Set
|
|
|
End Property
|
|
|
|
|
|
'Events
|
|
|
Public Event OfficeFinished()
|
|
|
Public send_statusmessage As Boolean
|
|
|
Dim Finished As Boolean = False
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Properties"
|
|
|
|
|
|
Property Dokumenttypnr() As Long
|
|
|
Get
|
|
|
Return m_DokumentTypnr
|
|
|
End Get
|
|
|
Set(ByVal Value As Long)
|
|
|
m_DokumentTypnr = Value
|
|
|
|
|
|
End Set
|
|
|
End Property
|
|
|
|
|
|
Property Dokument_Saved() As Boolean
|
|
|
Get
|
|
|
Return m_document_saved
|
|
|
End Get
|
|
|
Set(ByVal Value As Boolean)
|
|
|
m_document_saved = Value
|
|
|
End Set
|
|
|
End Property
|
|
|
Property DokumentID() As String
|
|
|
Get
|
|
|
Return m_DokumentID
|
|
|
End Get
|
|
|
Set(ByVal Value As String)
|
|
|
m_DokumentID = Value
|
|
|
End Set
|
|
|
End Property
|
|
|
Property DokumentName() As String
|
|
|
Get
|
|
|
Return m_Dokumentname
|
|
|
End Get
|
|
|
Set(ByVal Value As String)
|
|
|
m_Dokumentname = Value
|
|
|
|
|
|
End Set
|
|
|
End Property
|
|
|
Property Dokumentfilename() As String
|
|
|
Get
|
|
|
Return m_DokumentFilename
|
|
|
End Get
|
|
|
Set(ByVal Value As String)
|
|
|
m_DokumentFilename = Value
|
|
|
End Set
|
|
|
End Property
|
|
|
Property DokumentDatum() As DateTime
|
|
|
Get
|
|
|
Return m_DokumentDatum
|
|
|
End Get
|
|
|
Set(ByVal Value As DateTime)
|
|
|
m_DokumentDatum = Value
|
|
|
End Set
|
|
|
End Property
|
|
|
Property CreateDoc() As Boolean
|
|
|
Get
|
|
|
Return m_CreateDoc
|
|
|
End Get
|
|
|
Set(ByVal Value As Boolean)
|
|
|
m_CreateDoc = Value
|
|
|
End Set
|
|
|
End Property
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "IDVP-Funktionen"
|
|
|
|
|
|
Private Sub Cancel_IDVPortfeuille()
|
|
|
Dim hwnd As Long
|
|
|
hwnd = Win32API.FindWindow(vbNullString, "DC")
|
|
|
While hwnd <> 0
|
|
|
Dim s As String
|
|
|
s = MyTxt.gettext(87)
|
|
|
Dim f As New frmHinweismeldung1()
|
|
|
f.Label1.Text = s
|
|
|
f.MsgBoxStyle = 1
|
|
|
f.ShowDialog()
|
|
|
f.Dispose()
|
|
|
' MyMsg.show_standardmessage(87, MsgBoxStyle.Critical)
|
|
|
hwnd = Win32API.FindWindow(vbNullString, "DC")
|
|
|
'Win32API.BringWindowToTop(hwnd)
|
|
|
End While
|
|
|
' 'Exit Sub
|
|
|
' Try
|
|
|
' xx = CreateObject("DC.APPLICATION")
|
|
|
' xx.Quit()
|
|
|
' Catch
|
|
|
' End Try
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Init_IDV_Variablen()
|
|
|
|
|
|
On Error Resume Next
|
|
|
|
|
|
'Diverse Felder
|
|
|
'm_objdc.DokVarClear("VarHerkunft")
|
|
|
m_objdc.DokVarAdd("VarHerkunft", "EDOKA")
|
|
|
m_objdc.DokVarAdd("VarSchuldner", " ")
|
|
|
m_objdc.DokVarAdd("VarAdresseVorname", " ")
|
|
|
|
|
|
'Bankangaben
|
|
|
m_objdc.DokVarAdd("VarCompanyName", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBankname", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyAdresse1", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyAdresse2", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyAdresse3", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBankbetriebseinheit", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBBENr", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBBEOrt", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBBEEMail", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBBETelefon", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBBETelefax", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBBEZusatzVordruck", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyBBEZusatzInhalt", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyInternet", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyMWStNr", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyGerichtsstand", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyCantophone", " ")
|
|
|
m_objdc.DokVarAdd("VarCompanyHotlineInfoline", " ")
|
|
|
|
|
|
'Tempor<6F>re Variablen
|
|
|
m_objdc.DokVarAdd("VarTempGeschaeftNr", " ")
|
|
|
m_objdc.DokVarAdd("VarTempProduktebezeichnung", " ")
|
|
|
m_objdc.DokVarAdd("VarTempGeburtsGruendungsdatum", " ")
|
|
|
m_objdc.DokVarAdd("VarTempNationalitaetencode", " ")
|
|
|
m_objdc.DokVarAdd("VarTempMarktsegment", " ")
|
|
|
m_objdc.DokVarAdd("VarTempBranche", " ")
|
|
|
m_objdc.DokVarAdd("VarTempGesamtbetrag", " ")
|
|
|
m_objdc.DokVarAdd("VarTempBetrag1", " ")
|
|
|
m_objdc.DokVarAdd("VarTempBetrag2", " ")
|
|
|
m_objdc.DokVarAdd("VarTempWaehrung", " ")
|
|
|
m_objdc.DokVarAdd("VarTempZinssatz1", " ")
|
|
|
m_objdc.DokVarAdd("VarTempZinssatz2", " ")
|
|
|
m_objdc.DokVarAdd("VarTempObjekt", " ")
|
|
|
m_objdc.DokVarAdd("VarTempSchaetzungswert", " ")
|
|
|
m_objdc.DokVarAdd("VarTempKostenstelle", " ")
|
|
|
|
|
|
'Adressdaten
|
|
|
m_objdc.DokVarAdd("VarAdresse", " ")
|
|
|
m_objdc.DokVarAdd("VarVerteiler", " ")
|
|
|
m_objdc.DokVarAdd("VarAdressePostzustellung", " ")
|
|
|
m_objdc.DokVarAdd("VarAdresseAnrede", " ")
|
|
|
m_objdc.DokVarAdd("VarAdresseNameFirma", " ")
|
|
|
m_objdc.DokVarAdd("VarAdressezHd", " ")
|
|
|
m_objdc.DokVarAdd("VarAdresseAdresszeile1", " ")
|
|
|
m_objdc.DokVarAdd("VarAdresseAdresszeile2", " ")
|
|
|
m_objdc.DokVarAdd("VarAdressePLZ", " ")
|
|
|
m_objdc.DokVarAdd("VarAdresseOrt", " ")
|
|
|
m_objdc.DokVarAdd("VarPartnernr", " ")
|
|
|
|
|
|
'Formular Variablen
|
|
|
'm_objdc.DokVarAdd "VarFormularNr", " "
|
|
|
'm_objdc.DokVarAdd "VarFormularTitel", " "
|
|
|
'm_objdc.DokVarAdd "VarVersion", " "
|
|
|
|
|
|
' Sachbearbeiter
|
|
|
m_objdc.DokVarAdd("VarKennung", "")
|
|
|
m_objdc.DokVarAdd("VarKurzzeichen", " ")
|
|
|
m_objdc.DokVarAdd("VarName", " ")
|
|
|
m_objdc.DokVarAdd("VarVorname", " ")
|
|
|
m_objdc.DokVarAdd("VarTitel", " ")
|
|
|
m_objdc.DokVarAdd("VarBereich", " ")
|
|
|
m_objdc.DokVarAdd("VarOrganisationseinheit", " ")
|
|
|
m_objdc.DokVarAdd("VarAbkuerzung", " ")
|
|
|
m_objdc.DokVarAdd("VarBueroNr", " ")
|
|
|
m_objdc.DokVarAdd("VarRang", " ")
|
|
|
m_objdc.DokVarAdd("VarFunktion", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefon", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefax", " ")
|
|
|
m_objdc.DokVarAdd("VarEMail", " ")
|
|
|
m_objdc.DokVarAdd("VarBenutzerID", " ")
|
|
|
|
|
|
'Dokumentersteller
|
|
|
m_objdc.DokVarAdd("VarKennungDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarKurzzeichenDokschreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarNameDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarVornameDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarTitelDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarBereichDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarOrganisationseinheitDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarAbkuerzungDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarBueroNrDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarRangDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarFunktionDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefonDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefaxDokSchreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarEMailDokschreiber", " ")
|
|
|
m_objdc.DokVarAdd("VarBenutzerIDWahlTelefaxDokSchreiber", " ")
|
|
|
|
|
|
'Linksunterzeichnenden
|
|
|
m_objdc.DokVarAdd("VarKennungLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarKurzzeichenLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarNameLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarVornameLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarTitelLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarBereichLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarOrganisationseinheitLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarAbkuerzungLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarBueroNrLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarRangLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarFunktionLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefonLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefaxLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarEMailTelefaxLinks", " ")
|
|
|
m_objdc.DokVarAdd("VarBenutzerIDWahlTelefaxLinks", " ")
|
|
|
|
|
|
'Rechtsunterzeichnenden
|
|
|
m_objdc.DokVarAdd("VarKennungRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarKurzzeichenRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarNameRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarVornameRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarTitelRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarBereichRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarOrganisationseinheitRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarAbkuerzungRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarBueroNrRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarRangRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarFunktionRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefonRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarDirektWahlTelefaxRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarEMailTelefaxRechts", " ")
|
|
|
m_objdc.DokVarAdd("VarBenutzerIDWahlTelefaxRechts", " ")
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Create_IDVDokument(ByVal idvid As String)
|
|
|
StartWord()
|
|
|
'22.07.2003 Visible=False
|
|
|
objWord.Visible = False
|
|
|
Cancel_IDVPortfeuille()
|
|
|
m_objdc = CreateObject("DC.Application")
|
|
|
m_objdc.WindowState = dc.dcWindowState.dcInvisible
|
|
|
m_objdc.WindowState = 0
|
|
|
Init_IDV_Variablen()
|
|
|
m_objdc.WindowState = dc.dcWindowState.dcInvisible
|
|
|
'Call Get_IDV_Values()
|
|
|
If Not Office_Vorlage.bIdv_nativ.Value = True Then
|
|
|
m_objdc.WindowState = 0
|
|
|
m_objdc.WordPlusDialog = dc.dcWordPlusDialogs.dcKein
|
|
|
m_objdc.DisableStandardMacros()
|
|
|
End If
|
|
|
|
|
|
If Office_Vorlage.bIdv_nativ.Value = True Then
|
|
|
m_objdc.CreateDocument(dc.dcModus.dcMTBS, CType(Office_Vorlage.sIdv_id.Value, Integer))
|
|
|
StartWord()
|
|
|
docWord = objWord.ActiveDocument
|
|
|
objWord.Visible = False
|
|
|
m_objdc = Nothing
|
|
|
Exit Sub
|
|
|
Else
|
|
|
m_objdc.CreateDocument(dc.dcModus.dcMTBS, CType(Office_Vorlage.sIdv_id.Value, Integer))
|
|
|
m_objdc.SaveDoc(Dokumentfilename)
|
|
|
m_objdc.Quit()
|
|
|
m_objdc = Nothing
|
|
|
' StartWord()
|
|
|
'22.07.2003 Visible=False
|
|
|
objWord.Visible = False
|
|
|
|
|
|
docWord = objWord.ActiveDocument
|
|
|
If docWord.Name <> DivFnkt.ExtractFilename(Dokumentfilename) Then
|
|
|
docWord.Close()
|
|
|
docWord = objWord.ActiveDocument
|
|
|
End If
|
|
|
End If
|
|
|
m_objdc = Nothing
|
|
|
End Sub
|
|
|
|
|
|
Public Function IDV_makros_bearbeiten() As Boolean
|
|
|
|
|
|
Dim idvmakros As New edokadb.clsMyDokumentDaten()
|
|
|
Dim makros As DataTable
|
|
|
Dim i As Long
|
|
|
|
|
|
idvmakros.cpMainConnectionProvider = conn
|
|
|
makros = idvmakros.Select_IDVMakros(Me.Dokumenttypnr)
|
|
|
|
|
|
For i = 0 To makros.Rows.Count - 1
|
|
|
Try
|
|
|
If makros.Rows(i).Item("ist_in_dll") = True Then
|
|
|
'SetForegroundWindow(...)
|
|
|
System.Windows.Forms.Application.DoEvents()
|
|
|
idvdll = CreateObject("IDVMakros.Application")
|
|
|
Call idvdll.CallSub(objWord, makros.Rows(i).Item("makro"))
|
|
|
System.Windows.Forms.Application.DoEvents()
|
|
|
objWord.Visible = True
|
|
|
objWord.Activate()
|
|
|
Else
|
|
|
System.Windows.Forms.Application.DoEvents()
|
|
|
objWord.Run(makros.Rows(i).Item("makro"))
|
|
|
System.Windows.Forms.Application.DoEvents()
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
MsgBox("Fehler beim Makro-Aufruf - Makro: " + makros.Rows(i).Item("makro") + vbCrLf + vbCrLf + ex.Message)
|
|
|
End Try
|
|
|
Next i
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Word-Funktionen"
|
|
|
|
|
|
Private Function StartWord()
|
|
|
' StartWord_New_Instance()
|
|
|
' Exit Function
|
|
|
Try
|
|
|
objWord = GetObject(, "Word.application")
|
|
|
Catch
|
|
|
Try
|
|
|
objWord = CreateObject("Word.application")
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
Finally
|
|
|
objWord.Visible = False
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
|
|
|
Private Function StartWord_New_Instance()
|
|
|
Try
|
|
|
objWord = CreateObject("Word.application")
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Exit Function
|
|
|
End Try
|
|
|
objWord.Visible = False
|
|
|
End Function
|
|
|
|
|
|
Private Function StartIDVP()
|
|
|
Try
|
|
|
m_objdc = GetObject("dc.application")
|
|
|
Catch
|
|
|
Try
|
|
|
m_objdc = CreateObject("dc.application")
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Sub Insert_Kopfzeile()
|
|
|
On Error Resume Next
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdStory)
|
|
|
If objWord.ActiveWindow.View.SplitSpecial <> WdSpecialPane.wdPaneNone Then
|
|
|
objWord.ActiveWindow.Panes.Item(2).Close()
|
|
|
End If
|
|
|
If objWord.ActiveWindow.ActivePane.View.Type = Word.WdViewType.wdNormalView Or objWord.ActiveWindow.ActivePane.View.Type = Word.WdViewType.wdOutlineView Then
|
|
|
objWord.ActiveWindow.ActivePane.View.Type = Word.WdViewType.wdPrintView
|
|
|
End If
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekCurrentPageHeader
|
|
|
set_headerbookmark()
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
End Sub
|
|
|
|
|
|
Private Sub set_headerbookmark()
|
|
|
Try
|
|
|
docWord.Bookmarks.Item("TGEDKCompanyBBEB99").Select()
|
|
|
Catch
|
|
|
objWord.Selection.MoveDown(Unit:=Word.WdUnits.wdLine, Count:=1)
|
|
|
With objWord.ActiveDocument.Bookmarks
|
|
|
.Add(Range:=objWord.Selection.Range, Name:="TGEDKCompanyBBEB99")
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Fill_Dokument(ByVal AusParametrisierung As Boolean, Optional ByVal xdata As DataTable = Nothing)
|
|
|
If Office_Vorlage.bKopfzeile_generieren.Value = True Then
|
|
|
Insert_Kopfzeile()
|
|
|
End If
|
|
|
If AusParametrisierung Then
|
|
|
get_dokumentdaten()
|
|
|
Dokumentwerte_Uebertragen(AusParametrisierung)
|
|
|
Else
|
|
|
Dokumentdaten = xdata
|
|
|
Dokumentwerte_Uebertragen(AusParametrisierung)
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Dokumentwerte_Uebertragen(ByVal AusParametrisierung As Boolean)
|
|
|
Dim i As Long
|
|
|
Dim pos As Long
|
|
|
Dim pos2 As Long
|
|
|
Dim Fieldlen As Long
|
|
|
For i = 0 To Dokumentdaten.Rows.Count - 1
|
|
|
'Beginn-Textmarke
|
|
|
If Dokumentdaten.Rows(i).Item("aktiv") = True Then
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") Is System.DBNull.Value Then
|
|
|
Dokumentdaten.Rows(i).Item("beginntextmarke") = ""
|
|
|
End If
|
|
|
If Dokumentdaten.Rows(i).Item("endetextmarke") Is System.DBNull.Value Then
|
|
|
Dokumentdaten.Rows(i).Item("endetextmarke") = ""
|
|
|
End If
|
|
|
If Dokumentdaten.Rows(i).Item("feldname") Is System.DBNull.Value Then
|
|
|
Dokumentdaten.Rows(i).Item("feldname") = ""
|
|
|
End If
|
|
|
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") = "TGEDKCursor" Or _
|
|
|
Dokumentdaten.Rows(i).Item("beginntextmarke") = "TGEDKCursorB" Or _
|
|
|
Dokumentdaten.Rows(i).Item("feldname") = "TGEDKCursorB" Or _
|
|
|
Dokumentdaten.Rows(i).Item("feldname") = "TGEDKCursor" Then
|
|
|
Cursor_Positionieren = True
|
|
|
Else
|
|
|
|
|
|
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") <> "" And _
|
|
|
Dokumentdaten.Rows(i).Item("endetextmarke") = "" Then
|
|
|
Try
|
|
|
docWord.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Select()
|
|
|
pos = docWord.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Start
|
|
|
If AusParametrisierung Then
|
|
|
objWord.Selection.Text = Dokumentdaten.Rows(i).Item("testdaten")
|
|
|
Else
|
|
|
If Dokumentdaten.Rows(i).Item("used") = 1 Then
|
|
|
'If Dokumentdaten.Rows(i).Item("xvalue") <> "" Then
|
|
|
' If Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 19) = "TGEDKDirektTelefonB" Or _
|
|
|
' Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 19) = "TGEDKDirektTelefonZ" Then
|
|
|
' objWord.Visible = True
|
|
|
' objWord.Selection.Text = Dokumentdaten.Rows(i).Item("xvalue") + " "
|
|
|
' Else
|
|
|
objWord.Selection.Text = Dokumentdaten.Rows(i).Item("xvalue")
|
|
|
' End If
|
|
|
End If
|
|
|
End If
|
|
|
pos2 = objWord.Selection.End
|
|
|
If Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 19) = "TGEDKDirektTelefonB" Or _
|
|
|
Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 23) = "TGEDKVornameNameBetreue" Or _
|
|
|
Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 19) = "TGEDKDirektTelefonZ" Then
|
|
|
objWord.Selection.MoveLeft(Unit:=Word.WdUnits.wdCharacter, Count:=1)
|
|
|
objWord.Selection.TypeText(text:=" ")
|
|
|
objWord.Selection.SetRange(Start:=pos + 1, End:=pos2 + 1)
|
|
|
With docWord.Bookmarks
|
|
|
.Add(Range:=objWord.Selection.Range, Name:=Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
Else
|
|
|
objWord.Selection.SetRange(Start:=pos, End:=pos2)
|
|
|
With docWord.Bookmarks
|
|
|
.Add(Range:=objWord.Selection.Range, Name:=Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
End If
|
|
|
objWord.Selection.MoveLeft(Unit:=Word.WdUnits.wdCharacter, Count:=1)
|
|
|
objWord.Selection.MoveLeft(Unit:=Word.WdUnits.wdCharacter, Count:=2, Extend:=Word.WdMovementType.wdExtend)
|
|
|
If objWord.Selection.Text = " " Then
|
|
|
objWord.Selection.MoveRight(Unit:=Word.WdUnits.wdCharacter, Count:=1)
|
|
|
objWord.Selection.MoveLeft(Unit:=Word.WdUnits.wdCharacter, Count:=1, Extend:=Word.WdMovementType.wdExtend)
|
|
|
objWord.Selection.Delete(Unit:=Word.WdUnits.wdCharacter, Count:=1)
|
|
|
End If
|
|
|
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
'Beginn- und Ende-Textmarke
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") <> "" And _
|
|
|
Dokumentdaten.Rows(i).Item("endetextmarke") <> "" Then
|
|
|
Try
|
|
|
docWord.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Select()
|
|
|
pos = docWord.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Start
|
|
|
docWord.Bookmarks.Item(Dokumentdaten.Rows(i).Item("endetextmarke")).Select()
|
|
|
pos2 = docWord.Bookmarks.Item(Dokumentdaten.Rows(i).Item("endetextmarke")).Start
|
|
|
objWord.Selection.SetRange(Start:=pos, End:=pos2)
|
|
|
If AusParametrisierung Then
|
|
|
objWord.Selection.TypeText(text:=Dokumentdaten.Rows(i).Item("testdaten"))
|
|
|
Else
|
|
|
If Dokumentdaten.Rows(i).Item("used") = 1 Then
|
|
|
' If Dokumentdaten.Rows(i).Item("xvalue") <> "" Then
|
|
|
objWord.Selection.TypeText(text:=Dokumentdaten.Rows(i).Item("xvalue"))
|
|
|
End If
|
|
|
End If
|
|
|
With docWord.Bookmarks
|
|
|
.Add(Range:=objWord.Selection.Range, Name:=Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
'Felder
|
|
|
If Dokumentdaten.Rows(i).Item("feldname") <> "" Then
|
|
|
Try
|
|
|
If docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).TextInput.Width <> 0 Then
|
|
|
Fieldlen = docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).TextInput.Width
|
|
|
docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).TextInput.Width = Fieldlen + 5
|
|
|
End If
|
|
|
If AusParametrisierung Then
|
|
|
docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).Result = Dokumentdaten.Rows(i).Item("testdaten")
|
|
|
Else
|
|
|
If Dokumentdaten.Rows(i).Item("used") = 1 Then
|
|
|
' If Dokumentdaten.Rows(i).Item("xvalue") <> "" Then
|
|
|
docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).Result = Dokumentdaten.Rows(i).Item("xvalue")
|
|
|
End If
|
|
|
End If
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
End If
|
|
|
End If
|
|
|
Next
|
|
|
End Sub
|
|
|
|
|
|
Private Sub FeldMakros()
|
|
|
Dim i As Integer
|
|
|
For i = 0 To Dokumentdaten.Rows.Count - 1
|
|
|
If Dokumentdaten.Rows(i).Item("feldname") <> "" Then
|
|
|
If Dokumentdaten.Rows(i).Item("einstiegsmakro") = True Then
|
|
|
objWord.Run(docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).EntryMacro)
|
|
|
End If
|
|
|
If Dokumentdaten.Rows(i).Item("ausstiegsmakro") = True Then
|
|
|
objWord.Run(docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).ExitMacro)
|
|
|
End If
|
|
|
End If
|
|
|
Next
|
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Excel-Funktionen"
|
|
|
Private Function StartExcel()
|
|
|
Try
|
|
|
objExcel = CreateObject("Excel.application")
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Exit Function
|
|
|
End Try
|
|
|
objExcel.Visible = False
|
|
|
End Function
|
|
|
#End Region
|
|
|
|
|
|
#Region "Datenhandling"
|
|
|
Private Sub get_dokumentdaten()
|
|
|
dokudata.cpMainConnectionProvider = conn
|
|
|
Dokumentdaten = dokudata.SelectTestdata(Me.Dokumenttypnr)
|
|
|
dokudata.Dispose()
|
|
|
End Sub
|
|
|
#End Region
|
|
|
|
|
|
#Region "Barcode"
|
|
|
Dim Textboxes(100) As String
|
|
|
Dim Textboxesi As Integer
|
|
|
|
|
|
Private Sub Generate_Barcodes()
|
|
|
If Me.Excel_Dokument Then
|
|
|
insert_Barcode_Excel()
|
|
|
Exit Sub
|
|
|
End If
|
|
|
Me.ProgressBar.Bar1.Value = 70
|
|
|
Me.ProgressBar.Info.Text = "Bestehende Barcodes l<>schen"
|
|
|
delete_Textfelder()
|
|
|
Me.ProgressBar.Bar1.Value = 80
|
|
|
Me.ProgressBar.Info.Text = "Positionen f<>r Barcodes ermitteln"
|
|
|
Insert_TextFelder()
|
|
|
Me.ProgressBar.Bar1.Value = 90
|
|
|
Me.ProgressBar.Info.Text = "Barcodes erstellen"
|
|
|
ins_Barcode()
|
|
|
Me.ProgressBar.Bar1.Value = 100
|
|
|
Me.ProgressBar.Info.Text = "Dokumentgenerierung abgeschlossen"
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub delete_Textfelder()
|
|
|
Dim xname As String
|
|
|
Dim i As Integer
|
|
|
Dim i1 As Integer
|
|
|
Dim pages As Long
|
|
|
Dim Prop As Object
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdStory)
|
|
|
|
|
|
For Each Prop In objWord.ActiveDocument.BuiltInDocumentProperties
|
|
|
If UCase(Prop.Name) = "NUMBER OF PAGES" Then
|
|
|
pages = Prop.value
|
|
|
End If
|
|
|
Next
|
|
|
For i = 1 To pages
|
|
|
xname = Str(i)
|
|
|
If Left(xname, 1) = " " Then xname = Right(xname, Len(xname) - 1)
|
|
|
objWord.Selection.GoTo(what:=Word.WdGoToItem.wdGoToPage, Name:=xname)
|
|
|
HeaderFooterAnzeigen()
|
|
|
While objWord.Selection.HeaderFooter.Shapes.Count > 0
|
|
|
objWord.Selection.HeaderFooter.Shapes.Item(1).Delete()
|
|
|
End While
|
|
|
' On Error GoTo eh
|
|
|
' ' Resume Next
|
|
|
' For i1 = 1 To objWord.Selection.HeaderFooter.Shapes.Count
|
|
|
' objWord.Selection.HeaderFooter.Shapes.Item(i1).Delete()
|
|
|
' Next i1
|
|
|
' On Error GoTo 0
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Next i
|
|
|
Exit Sub
|
|
|
eh:
|
|
|
'MsgBox(Err.Description)
|
|
|
Resume Next
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Insert_TextFelder()
|
|
|
Dim xname As String
|
|
|
Dim i As Integer
|
|
|
Dim pages As Long
|
|
|
Dim prop As Object
|
|
|
For Each prop In objWord.ActiveDocument.BuiltInDocumentProperties
|
|
|
If UCase(prop.Name) = "NUMBER OF PAGES" Then
|
|
|
pages = prop.value
|
|
|
End If
|
|
|
Next
|
|
|
Textboxesi = 1
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdStory)
|
|
|
For i = 1 To pages
|
|
|
xname = Str(i)
|
|
|
If Left(xname, 1) = " " Then xname = Right(xname, Len(xname) - 1)
|
|
|
objWord.Selection.GoTo(what:=Word.WdGoToItem.wdGoToPage, Name:=xname)
|
|
|
insert_Textfield()
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Next i
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
Private Sub ins_Barcode()
|
|
|
Dim xname As String
|
|
|
Dim i As Integer
|
|
|
Dim pages As Long
|
|
|
Dim prop As Object
|
|
|
For Each prop In objWord.ActiveDocument.BuiltInDocumentProperties
|
|
|
If UCase(prop.Name) = "NUMBER OF PAGES" Then
|
|
|
pages = prop.value
|
|
|
End If
|
|
|
Next
|
|
|
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdStory)
|
|
|
Textboxesi = 1
|
|
|
For i = 1 To pages
|
|
|
xname = Str(i)
|
|
|
If Left(xname, 1) = " " Then xname = Right(xname, Len(xname) - 1)
|
|
|
objWord.Selection.GoTo(what:=Word.WdGoToItem.wdGoToPage, Name:=xname)
|
|
|
HeaderFooterAnzeigen()
|
|
|
insert_Barcode(i)
|
|
|
Textboxesi = Textboxesi + 1
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Next i
|
|
|
End Sub
|
|
|
|
|
|
Private Sub HeaderFooterAnzeigen()
|
|
|
If objWord.ActiveWindow.View.SplitSpecial <> WdSpecialPane.wdPaneNone Then
|
|
|
objWord.ActiveWindow.Panes.Item(2).Close()
|
|
|
End If
|
|
|
If objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdNormalView Or objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdOutlineView Then
|
|
|
objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
End If
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageHeader
|
|
|
If objWord.Selection.HeaderFooter.IsHeader = True Then
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageFooter
|
|
|
Else
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageHeader
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
Private Sub insert_Textfield()
|
|
|
Dim Public_barcodeleft
|
|
|
Dim Public_barcodetop
|
|
|
Dim Public_barcodewidth#
|
|
|
Dim Public_barcodeheight
|
|
|
Try
|
|
|
Public_barcodeleft = Office_Vorlage.iBcpl.Value
|
|
|
Public_barcodetop = Office_Vorlage.iBcpt.Value
|
|
|
Public_barcodewidth = Office_Vorlage.iBcw.Value
|
|
|
Public_barcodeheight = Office_Vorlage.iBch.Value
|
|
|
|
|
|
HeaderFooterAnzeigen()
|
|
|
objWord.Selection.HeaderFooter.Shapes.AddTextbox(1, Public_barcodeleft, Public_barcodetop, _
|
|
|
Public_barcodewidth#, Public_barcodeheight).Select()
|
|
|
' objWord.Selection.ShapeRange.TextFrame.TextRange.Select
|
|
|
objWord.Selection.ShapeRange.Line.Visible = Office.MsoTriState.msoFalse
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginLeft = 0.0#
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginRight = 0.0#
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginTop = 0.0#
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginBottom = 0.0#
|
|
|
objWord.Selection.Collapse()
|
|
|
Textboxes(Textboxesi) = objWord.Selection.HeaderFooter.Shapes.Item(Textboxesi).Name
|
|
|
Textboxesi = Textboxesi + 1
|
|
|
System.Windows.Forms.Application.DoEvents()
|
|
|
Exit Sub
|
|
|
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Private Sub insert_Barcode_Excel()
|
|
|
Dim i As Integer
|
|
|
Dim i1 As Integer
|
|
|
Dim s As String
|
|
|
Dim na As String
|
|
|
Dim xx As Integer
|
|
|
Me.ProgressBar.Bar1.Value = 80
|
|
|
Me.ProgressBar.Info.Text = "Barcodes generieren"
|
|
|
s = Bar25I(Microsoft.VisualBasic.Right(Right(m_DokumentID, Len(m_DokumentID) - 6), 16))
|
|
|
For i = 1 To docExcel.Sheets.Count
|
|
|
docExcel.Sheets(i).activate()
|
|
|
For i1 = 1 To docExcel.Names.Count
|
|
|
Try
|
|
|
na = docExcel.Names.Item(i1).NameLocal
|
|
|
If Left(na, 7) = "TGEDKBC" Then
|
|
|
objExcel.Range(objExcel.Names.Item(na).NameLocal).Select()
|
|
|
objExcel.ActiveCell.FormulaR1C1 = s
|
|
|
With objExcel.Selection.Characters.Font
|
|
|
.Name = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("barcode_font")
|
|
|
'.Size = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("bcfont_groesse")
|
|
|
End With
|
|
|
'objExcel.Selection.HorizontalAlignment = Excel.XlHAlign.xlHAlignRight
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
End Try
|
|
|
Next
|
|
|
Next
|
|
|
End Sub
|
|
|
|
|
|
Private Sub insert_Barcode(ByVal x As Integer)
|
|
|
Dim Form
|
|
|
Dim strsel As String
|
|
|
Dim strresult
|
|
|
Dim s As String
|
|
|
' Selection.ShapeRange.Select
|
|
|
If DokumenTtyp.bZu_retournieren.Value = True Then
|
|
|
Try
|
|
|
Form = objWord.Selection.HeaderFooter.Shapes.Item(Textboxes(Textboxesi))
|
|
|
Form.Select()
|
|
|
Form = objWord.Selection.HeaderFooter.Shapes.Item(Textboxes(Textboxesi))
|
|
|
Form.Select()
|
|
|
If Office_Vorlage.bBchorizontal.Value = False Then
|
|
|
objWord.ActiveDocument.Tables.Add(Range:=objWord.Selection.Range, NumRows:=1, NumColumns:=1)
|
|
|
With objWord.Selection.Tables.Item(1)
|
|
|
.Borders.Item(WdBorderType.wdBorderLeft).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderRight).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderTop).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderBottom).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderDiagonalDown).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderDiagonalUp).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Shadow = False
|
|
|
End With
|
|
|
objWord.Selection.Orientation = Word.WdTextOrientation.wdTextOrientationUpward
|
|
|
objWord.Selection.Tables.Item(1).Rows.HeightRule = Word.WdRowHeightRule.wdRowHeightAtLeast
|
|
|
objWord.Selection.Tables.Item(1).Rows.Height = Form.height
|
|
|
End If
|
|
|
s = Bar25I(Microsoft.VisualBasic.Right(Right(m_DokumentID, Len(m_DokumentID) - 6), 16))
|
|
|
's = Bar25I("0012002123456789")
|
|
|
objWord.Selection.TypeText(text:=s)
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdLine, Extend:=Word.WdMovementType.wdExtend)
|
|
|
objWord.Selection.Font.Name = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("barcode_font")
|
|
|
objWord.Selection.Font.Size = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("bcfont_groesse")
|
|
|
objWord.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight
|
|
|
objWord.Selection.EndKey(Unit:=Word.WdUnits.wdLine)
|
|
|
objWord.Selection.Font.Name = "Arial"
|
|
|
objWord.Selection.Font.Size = 8
|
|
|
If DokumenTtyp.iPhysisches_archiv.Value = 2 Then
|
|
|
objWord.Selection.TypeText(" F")
|
|
|
Else
|
|
|
objWord.Selection.TypeText(" U")
|
|
|
End If
|
|
|
Form = Nothing
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Barcode-Berechnung"
|
|
|
Private BarTextOut As String
|
|
|
Private BarTextIn As String
|
|
|
Private DoCheckSum As Integer
|
|
|
Private TempString As String
|
|
|
Private CharValue As Long
|
|
|
Private II As Integer
|
|
|
Private Sum As Long
|
|
|
Private barcodeout
|
|
|
Private CheckSum As Integer
|
|
|
|
|
|
' Copyright 2001 by Elfring Fonts Inc. All rights reserved. This code
|
|
|
' may not be modified or altered in any way.
|
|
|
|
|
|
'Functions in this file:
|
|
|
' Bar25I(Text) -> convert text to bar code 2/5 interleaved
|
|
|
' Bar25Ics(Text) -> convert text to bar code 2/5 interleaved with checksum
|
|
|
|
|
|
'---------------------------------------------------------------------------
|
|
|
' This function converts a string of digits into a format compatible with Elfring
|
|
|
' Fonts Inc bar codes. It adds the start character, scans and converts digit pairs
|
|
|
' into single ASCII characters, and adds a stop character. Note that non-digits are
|
|
|
' ignored, and if you enter an odd number of digits, a leading zero will be added.
|
|
|
'---------------------------------------------------------------------------
|
|
|
Public Function Bar25I(ByVal BarTextIn As String) As String
|
|
|
|
|
|
' Initialize input and output strings
|
|
|
BarTextOut = ""
|
|
|
BarTextIn = RTrim(LTrim(BarTextIn))
|
|
|
|
|
|
' Throw away non-numeric data
|
|
|
TempString = ""
|
|
|
For II = 1 To Len(BarTextIn)
|
|
|
If IsNumeric(Mid(BarTextIn, II, 1)) Then
|
|
|
TempString = TempString & Mid(BarTextIn, II, 1)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
' If not an even number of digits, add a leading 0
|
|
|
If (Len(TempString) Mod 2) = 1 Then
|
|
|
TempString = "0" & TempString
|
|
|
End If
|
|
|
|
|
|
' Break digit pairs up and convert to characters- build output string
|
|
|
For II = 1 To Len(TempString) Step 2
|
|
|
'Break string into pairs of digits and get value
|
|
|
CharValue = Mid(TempString, II, 2)
|
|
|
'translate value to ASCII and save in BarTextOut
|
|
|
If CharValue < 90 Then
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 33)
|
|
|
Else
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 71)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
'Build ouput string, trailing space for Windows rasterization bug
|
|
|
barcodeout = "{" & BarTextOut & "} "
|
|
|
|
|
|
'Return the string
|
|
|
Bar25I = barcodeout
|
|
|
End Function
|
|
|
|
|
|
'---------------------------------------------------------------------------
|
|
|
' This function converts a string of digits into a format compatible with Elfring
|
|
|
' Fonts Inc bar codes. It adds the start character, scans and converts digit pairs
|
|
|
' into single ASCII characters, and adds checksum and a stop character. Note that
|
|
|
' non-digits are ignored, and if you enter an even number of digits, a leading zero
|
|
|
' will be added.
|
|
|
'---------------------------------------------------------------------------
|
|
|
Public Function Bar25Ics(ByVal BarTextIn As String) As String
|
|
|
|
|
|
' Initialize input and output strings
|
|
|
BarTextOut = ""
|
|
|
BarTextIn = RTrim(LTrim(BarTextIn))
|
|
|
|
|
|
' Throw away non-numeric data
|
|
|
TempString = ""
|
|
|
For II = 1 To Len(BarTextIn)
|
|
|
If IsNumeric(Mid(BarTextIn, II, 1)) Then
|
|
|
TempString = TempString & Mid(BarTextIn, II, 1)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
' If not an odd number of digits, add a leading 0
|
|
|
If (Len(TempString) Mod 2) = 0 Then
|
|
|
TempString = "0" & TempString
|
|
|
End If
|
|
|
|
|
|
' Figure out the checksum digit
|
|
|
Sum = 0
|
|
|
For II = 1 To Len(TempString)
|
|
|
CharValue = Mid(TempString, II, 1)
|
|
|
If (II Mod 2) = 1 Then
|
|
|
Sum = Sum + (3 * CharValue)
|
|
|
Else
|
|
|
Sum = Sum + CharValue
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
' Figure checksum, add it as last digit
|
|
|
CheckSum = 10 - (Sum Mod 10)
|
|
|
If CheckSum = 10 Then CheckSum = 0
|
|
|
TempString = TempString & Chr(48 + CheckSum)
|
|
|
|
|
|
' Break digit pairs up and convert to characters- build output string
|
|
|
For II = 1 To Len(TempString) Step 2
|
|
|
'Break string into pairs of digits and get value
|
|
|
CharValue = Mid(TempString, II, 2)
|
|
|
'translate value to ASCII and save in BarTextOut
|
|
|
If CharValue < 90 Then
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 33)
|
|
|
Else
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 71)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
'Build ouput string, trailing space for Windows rasterization bug
|
|
|
barcodeout = "{" & BarTextOut & "} "
|
|
|
|
|
|
'Return the string
|
|
|
Bar25Ics = barcodeout
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "<22>ffentliche Methoden"
|
|
|
|
|
|
#Region "Word"
|
|
|
|
|
|
Public Sub Create_Dokument_Before_Fill(ByVal DokTypeNr As Long, ByVal xdata As DataTable, ByVal fname As String)
|
|
|
'Office-Vorlage auslesen
|
|
|
Me.inEditMode = False
|
|
|
Me.Excel_Dokument = False
|
|
|
Me.Dokumenttypnr = DokTypeNr
|
|
|
DokumenTtyp.cpMainConnectionProvider = conn
|
|
|
DokumenTtyp.iDokumenttypnr = New SqlInt32(CType(Me.Dokumenttypnr, Int32))
|
|
|
DokumenTtyp.SelectOne()
|
|
|
|
|
|
Me.ProgressBar.Bar1.Value = 30
|
|
|
Me.ProgressBar.Info.Text = "Word-Dokument erstellen"
|
|
|
Office_Vorlage.cpMainConnectionProvider = conn
|
|
|
Office_Vorlage.iOffice_vorlagenr = DokumenTtyp.iOffice_vorlagenr
|
|
|
Office_Vorlage.SelectOne()
|
|
|
|
|
|
If Office_Vorlage.iAnwendungnr.Value = 2 Then
|
|
|
Create_Excel_Before_Fill(DokTypeNr, xdata, fname)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
'Tempor<6F>r-Datei
|
|
|
Dokument_Temp = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente")
|
|
|
CheckDokumentName = Dokument_Temp + Office_Vorlage.sPrefix_dokumentname.Value + ".doc"
|
|
|
Dokument_Temp = Dokument_Temp + Office_Vorlage.sPrefix_dokumentname.Value + ".doc"
|
|
|
|
|
|
'Nativ-Dokumentvorlage
|
|
|
If Not Office_Vorlage.bIdv_vorlage.Value = True Then
|
|
|
Dokument_To_Create = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_word_vorlagen") + Office_Vorlage.sOffice_vorlage.Value
|
|
|
StartWord()
|
|
|
Dokumentfilename = fname
|
|
|
objWord.Documents.Add(Template:=Dokument_To_Create)
|
|
|
objWord.ActiveDocument.SaveAs(filename:=fname)
|
|
|
docWord = objWord.ActiveDocument
|
|
|
Else
|
|
|
Dokumentfilename = fname
|
|
|
If Not OhneIDV Then
|
|
|
Create_IDVDokument(Office_Vorlage.sIdv_id.Value)
|
|
|
Else
|
|
|
Dokument_To_Create = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_word_vorlagen") + Office_Vorlage.sIdv_id.Value + ".doc"
|
|
|
StartWord()
|
|
|
Dokumentfilename = fname
|
|
|
objWord.Documents.Add(Template:=Dokument_To_Create)
|
|
|
objWord.ActiveDocument.SaveAs(filename:=fname)
|
|
|
docWord = objWord.ActiveDocument
|
|
|
End If
|
|
|
End If
|
|
|
|
|
|
IsProtected = False
|
|
|
If docWord.ProtectionType <> WdProtectionType.wdNoProtection Then
|
|
|
docWord.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
IsProtected = True
|
|
|
End If
|
|
|
|
|
|
'Dokument ggf. entsperren, Daten <20>bertragen, Dokument ggf. sch<63>tzen
|
|
|
' If Office_Vorlage.bDokument_geschuetzt.Value = True Then
|
|
|
' docWord.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
' End If
|
|
|
|
|
|
objWord.Visible = False
|
|
|
Me.ProgressBar.Bar1.Value = 40
|
|
|
Me.ProgressBar.Info.Text = "Vorhandene Werte aus dem Dokument auslesen"
|
|
|
Word_Werte_Auslesen(xdata)
|
|
|
Me.ProgressBar.Bar1.Value = 50
|
|
|
Me.ProgressBar.Info.Text = "Neue und Bestehende Werte zusammenstellen"
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Open_Document(ByVal fname As String, ByVal xdata As DataTable, ByVal doktypeNr As Long)
|
|
|
Me.Dokumenttypnr = doktypeNr
|
|
|
Me.inEditMode = True
|
|
|
DokumenTtyp.cpMainConnectionProvider = conn
|
|
|
DokumenTtyp.iDokumenttypnr = New SqlInt32(CType(Me.Dokumenttypnr, Int32))
|
|
|
DokumenTtyp.SelectOne()
|
|
|
Me.ProgressBar.Bar1.Value = 40
|
|
|
Me.ProgressBar.Info.Text = "Word-Dokument <20>ffnen"
|
|
|
Office_Vorlage.cpMainConnectionProvider = conn
|
|
|
Office_Vorlage.iOffice_vorlagenr = DokumenTtyp.iOffice_vorlagenr
|
|
|
Office_Vorlage.SelectOne()
|
|
|
If Office_Vorlage.iAnwendungnr.Value = 2 Then
|
|
|
Open_Excel(fname, xdata, doktypeNr)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
StartWord()
|
|
|
objWord.Run("Autoexec")
|
|
|
Dokumentfilename = fname
|
|
|
objWord.Documents.Open(fname)
|
|
|
docWord = objWord.ActiveDocument
|
|
|
objWord.Visible = False
|
|
|
Me.ProgressBar.Bar1.Value = 40
|
|
|
Me.ProgressBar.Info.Text = "Vorhandene Werte aus dem Dokument auslesen"
|
|
|
If docWord.ProtectionType <> WdProtectionType.wdNoProtection Then
|
|
|
docWord.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
IsProtected = True
|
|
|
End If
|
|
|
Word_Werte_Auslesen(xdata)
|
|
|
Me.ProgressBar.Bar1.Value = 50
|
|
|
Me.ProgressBar.Info.Text = "Neue und Bestehende Werte zusammenstellen"
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Dokument_Vervollstaendigen(ByVal xdata As DataTable)
|
|
|
If Me.Excel_Dokument = True Then
|
|
|
Excel_Vervollstaendigen(xdata)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
Me.ProgressBar.Bar1.Value = 60
|
|
|
Me.ProgressBar.Info.Text = "Dokumentwerte <20>bertragen"
|
|
|
If docWord.ProtectionType <> WdProtectionType.wdNoProtection Then
|
|
|
docWord.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
IsProtected = True
|
|
|
End If
|
|
|
'22.07.2003
|
|
|
objWord.Visible = False
|
|
|
objWord.WindowState = WdWindowState.wdWindowStateMinimize
|
|
|
System.Windows.Forms.Application.DoEvents()
|
|
|
Fill_Dokument(False, xdata)
|
|
|
If DokumenTtyp.bZu_retournieren.Value = True Then
|
|
|
Generate_Barcodes()
|
|
|
Else
|
|
|
Try
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
objWord.ScreenUpdating = True
|
|
|
Me.ProgressBar.Close()
|
|
|
If IsProtected Then
|
|
|
Try
|
|
|
docWord.Protect(Type:=WdProtectionType.wdAllowOnlyFormFields, noreset:=True, password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
objWord.Activate()
|
|
|
objWord.WindowState = WdWindowState.wdWindowStateMaximize
|
|
|
FeldMakros()
|
|
|
If objWord.ActiveWindow.View.SplitSpecial = WdSpecialPane.wdPaneNone Then
|
|
|
objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
Else
|
|
|
objWord.ActiveWindow.View.Type = WdViewType.wdPrintView
|
|
|
End If
|
|
|
'objWord.Visible = True
|
|
|
If Me.CreateDoc = True Then IDV_makros_bearbeiten()
|
|
|
If Cursor_Positionieren Then
|
|
|
Try
|
|
|
docWord.Bookmarks.Item("TGEDKCursor").Select()
|
|
|
Catch
|
|
|
Try
|
|
|
docWord.Bookmarks.Item("TGEDKCursorB").Select()
|
|
|
Catch
|
|
|
End Try
|
|
|
End Try
|
|
|
End If
|
|
|
Me.Dokument_Saved = False
|
|
|
If objWord.ActiveWindow.View.SplitSpecial = WdSpecialPane.wdPaneNone Then
|
|
|
objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
Else
|
|
|
objWord.ActiveWindow.View.Type = WdViewType.wdPrintView
|
|
|
End If
|
|
|
'22.07.2003 Visible=False
|
|
|
objWord.Visible = False
|
|
|
Office_Vorlage.Dispose()
|
|
|
DokumenTtyp.Dispose()
|
|
|
Control_Word()
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Word_Werte_Auslesen(ByVal xdata As DataTable)
|
|
|
Dim i As Integer
|
|
|
Dim pos, pos2 As Integer
|
|
|
For i = 0 To xdata.Rows.Count - 1
|
|
|
xdata.Rows(i).Item("used") = 0
|
|
|
If xdata.Rows(i).Item("beginntextmarke") <> "" And xdata.Rows(i).Item("endetextmarke") = "" Then
|
|
|
Try
|
|
|
docWord.Bookmarks.Item(xdata.Rows(i).Item("beginntextmarke")).Select()
|
|
|
xdata.Rows(i).Item("oldvalue") = convert(objWord.Selection.Text)
|
|
|
xdata.Rows(i).Item("used") = 1
|
|
|
Catch
|
|
|
End Try
|
|
|
If xdata.Rows(i).Item("beginntextmarke") = "TGEDKCompanyBBEB99" Then xdata.Rows(i).Item("used") = 1
|
|
|
End If
|
|
|
If xdata.Rows(i).Item("beginntextmarke") <> "" And xdata.Rows(i).Item("endetextmarke") <> "" Then
|
|
|
Try
|
|
|
docWord.Bookmarks.Item(xdata.Rows(i).Item("beginntextmarke")).Select()
|
|
|
pos = objWord.Selection.Start
|
|
|
docWord.Bookmarks.Item(xdata.Rows(i).Item("endetextmarke")).Select()
|
|
|
pos2 = objWord.Selection.Start
|
|
|
objWord.Selection.SetRange(Start:=pos, End:=pos2)
|
|
|
xdata.Rows(i).Item("oldvalue") = convert(objWord.Selection.Text)
|
|
|
xdata.Rows(i).Item("used") = 1
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
Try
|
|
|
If xdata.Rows(i).Item("feldname") <> "" Then
|
|
|
Try
|
|
|
xdata.Rows(i).Item("oldvalue") = convert(docWord.FormFields.Item(xdata.Rows(i).Item("feldname")).Result)
|
|
|
xdata.Rows(i).Item("used") = 1
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
Catch
|
|
|
End Try
|
|
|
Next
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Create_Dokument(ByVal DokTypeNr As Long, ByVal ShowReport As Boolean)
|
|
|
'Office-Vorlage auslesen
|
|
|
Me.inEditMode = False
|
|
|
Me.Dokumenttypnr = DokTypeNr
|
|
|
DokumenTtyp.cpMainConnectionProvider = conn
|
|
|
DokumenTtyp.iDokumenttypnr = New SqlInt32(CType(Me.Dokumenttypnr, Int32))
|
|
|
DokumenTtyp.SelectOne()
|
|
|
|
|
|
Office_Vorlage.cpMainConnectionProvider = conn
|
|
|
Office_Vorlage.iOffice_vorlagenr = DokumenTtyp.iOffice_vorlagenr
|
|
|
Office_Vorlage.SelectOne()
|
|
|
|
|
|
'Tempor<6F>r-Datei
|
|
|
Dokument_Temp = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente")
|
|
|
Dokument_Temp = Dokument_Temp + Office_Vorlage.sPrefix_dokumentname.Value + Change_Docname(Now) + ".doc"
|
|
|
Dokumentfilename = Dokument_Temp
|
|
|
|
|
|
'Nativ-Dokumentvorlage
|
|
|
If Not Office_Vorlage.bIdv_vorlage.Value = True Then
|
|
|
Dokument_To_Create = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_word_vorlagen") + Office_Vorlage.sOffice_vorlage.Value
|
|
|
StartWord()
|
|
|
objWord.Documents.Add(Template:=Dokument_To_Create)
|
|
|
objWord.ActiveDocument.SaveAs(filename:=Dokumentfilename)
|
|
|
docWord = objWord.ActiveDocument
|
|
|
Else
|
|
|
Create_IDVDokument(Office_Vorlage.sIdv_id.Value)
|
|
|
End If
|
|
|
|
|
|
IsProtected = False
|
|
|
If docWord.ProtectionType <> WdProtectionType.wdNoProtection Then
|
|
|
docWord.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
IsProtected = True
|
|
|
End If
|
|
|
'Dokument ggf. entsperren, Daten <20>bertragen, Dokument ggf. sch<63>tzen
|
|
|
' If Office_Vorlage.bDokument_geschuetzt.Value = True Then
|
|
|
' docWord.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
' End If
|
|
|
Fill_Dokument(True)
|
|
|
If DokumenTtyp.bZu_retournieren.Value = True Then
|
|
|
Generate_Barcodes()
|
|
|
Else
|
|
|
Try
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
' Me.ProgressBar.Close()
|
|
|
If IsProtected Then
|
|
|
Try
|
|
|
docWord.Protect(Type:=WdProtectionType.wdAllowOnlyFormFields, noreset:=True, password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
|
|
|
FeldMakros()
|
|
|
If objWord.ActiveWindow.View.SplitSpecial = WdSpecialPane.wdPaneNone Then
|
|
|
objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
Else
|
|
|
objWord.ActiveWindow.View.Type = WdViewType.wdPrintView
|
|
|
End If
|
|
|
|
|
|
objWord.Visible = True
|
|
|
IDV_makros_bearbeiten()
|
|
|
If Cursor_Positionieren Then
|
|
|
Try
|
|
|
docWord.Bookmarks.Item("TGEDKCursor").Select()
|
|
|
docWord.Bookmarks.Item("TGEDKCursorB").Select()
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
|
|
|
objWord.Visible = True
|
|
|
Office_Vorlage.Dispose()
|
|
|
DokumenTtyp.Dispose()
|
|
|
If Not ShowReport Then
|
|
|
docWord = Nothing
|
|
|
objWord = Nothing
|
|
|
Else
|
|
|
Get_Docvars(DokTypeNr)
|
|
|
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
Public Sub ShowDoc(ByVal s As String)
|
|
|
If UCase(Right(s, 3)) = "XLS" Then
|
|
|
StartExcel()
|
|
|
objExcel.Workbooks.Open(s)
|
|
|
objExcel.Visible = True
|
|
|
Me.Excel_Dokument = True
|
|
|
End If
|
|
|
If UCase(Right(s, 3)) = "DOC" Then
|
|
|
StartWord()
|
|
|
Me.Excel_Dokument = False
|
|
|
objWord.Run("Autoexec")
|
|
|
objWord.Documents.Open(s)
|
|
|
docWord = objWord.ActiveDocument
|
|
|
docWord.Application.Visible = True
|
|
|
docWord.Activate()
|
|
|
insert_wordart()
|
|
|
objWord.Visible = True
|
|
|
objWord.Activate()
|
|
|
objWord.NormalTemplate.Saved = True
|
|
|
End If
|
|
|
Me.DokumentName = DivFnkt.ExtractFilename(s)
|
|
|
Control_Word_readonly()
|
|
|
End Sub
|
|
|
|
|
|
Public Function insert_wordart()
|
|
|
objWord.ActiveWindow.ActivePane.NewFrameset()
|
|
|
objWord.ActiveWindow.ActivePane.Frameset.AddNewFrame(Word.WdFramesetNewFrameLocation.wdFramesetNewFrameAbove)
|
|
|
With objWord.ActiveWindow.Document.Frameset.ChildFramesetItem(1)
|
|
|
.HeightType = Word.WdFramesetSizeType.wdFramesetSizeTypeFixed
|
|
|
' .HeightType = wdFramesetSizeTypePercent
|
|
|
.Height = 35
|
|
|
End With
|
|
|
objWord.Selection.TypeText(text:="*** Dokument im Anzeigemodus ge<67>ffnet ***")
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdLine, Extend:=Word.WdMovementType.wdExtend)
|
|
|
objWord.Selection.Font.Color = Word.WdColor.wdColorRed
|
|
|
objWord.Selection.Font.Size = 12
|
|
|
objWord.Selection.EndKey(Unit:=Word.WdUnits.wdLine)
|
|
|
objWord.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter
|
|
|
objWord.Selection.Font.Color = WdColor.wdColorBlack
|
|
|
objWord.Selection.TypeParagraph()
|
|
|
objWord.Selection.Font.Size = 9
|
|
|
objWord.Selection.TypeText(text:="<22>nderungen im Dokument werden in EDOKA nicht ber<65>cksichtigt, auch dann nicht, wenn Sie das Dokument abspeichern.")
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdLine, Extend:=Word.WdMovementType.wdExtend)
|
|
|
objWord.Selection.Font.Color = WdColor.wdColorBlack
|
|
|
objWord.Selection.HomeKey(Unit:=Word.WdUnits.wdStory)
|
|
|
|
|
|
objWord.ActiveWindow.Panes.Item(1).Activate()
|
|
|
If objWord.ActiveWindow.View.SplitSpecial = WdSpecialPane.wdPaneNone = True Then
|
|
|
objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintPreview
|
|
|
Else
|
|
|
objWord.ActiveWindow.View.Type = WdViewType.wdPrintPreview
|
|
|
End If
|
|
|
objWord.CommandBars("Frames").Visible = False
|
|
|
End Function
|
|
|
|
|
|
Public Sub CloseDoc()
|
|
|
docWord.Close(False)
|
|
|
docWord = Nothing
|
|
|
objWord = Nothing
|
|
|
|
|
|
End Sub
|
|
|
#End Region
|
|
|
|
|
|
#Region "Excel"
|
|
|
Public Sub Create_Excel_Before_Fill(ByVal DokTypeNr As Long, ByVal xdata As DataTable, ByVal fname As String)
|
|
|
Dim i As Integer
|
|
|
Me.inEditMode = False
|
|
|
Me.Excel_Dokument = True
|
|
|
Me.Dokumenttypnr = DokTypeNr
|
|
|
DokumenTtyp.cpMainConnectionProvider = conn
|
|
|
DokumenTtyp.iDokumenttypnr = New SqlInt32(CType(Me.Dokumenttypnr, Int32))
|
|
|
DokumenTtyp.SelectOne()
|
|
|
|
|
|
Me.ProgressBar.Bar1.Value = 30
|
|
|
Me.ProgressBar.Info.Text = "Word-Dokument erstellen"
|
|
|
Office_Vorlage.cpMainConnectionProvider = conn
|
|
|
Office_Vorlage.iOffice_vorlagenr = DokumenTtyp.iOffice_vorlagenr
|
|
|
Office_Vorlage.SelectOne()
|
|
|
|
|
|
'Tempor<6F>r-Datei
|
|
|
Dokument_Temp = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente")
|
|
|
Dokument_Temp = Dokument_Temp + Office_Vorlage.sPrefix_dokumentname.Value + ".doc"
|
|
|
|
|
|
'Nativ-Dokumentvorlage
|
|
|
If Not Office_Vorlage.bIdv_vorlage.Value = True Then
|
|
|
Dokument_To_Create = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_excel_vorlagen") + Office_Vorlage.sOffice_vorlage.Value
|
|
|
StartExcel()
|
|
|
Dokumentfilename = fname
|
|
|
objExcel.Workbooks.Add(Template:=Dokument_To_Create)
|
|
|
objExcel.ActiveWorkbook.SaveAs(filename:=fname)
|
|
|
docExcel = objExcel.ActiveWorkbook
|
|
|
End If
|
|
|
|
|
|
IsProtected = False
|
|
|
For i = 1 To docExcel.Sheets.Count
|
|
|
docExcel.Sheets(i).activate()
|
|
|
sheetExcel = docExcel.ActiveSheet
|
|
|
sheetExcel.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_excelvorlagen"))
|
|
|
IsProtected = True
|
|
|
Next i
|
|
|
objExcel.Visible = False
|
|
|
Me.ProgressBar.Bar1.Value = 40
|
|
|
Me.ProgressBar.Info.Text = "Vorhandene Werte aus dem Dokument auslesen"
|
|
|
Excel_Werte_Auslesen(xdata)
|
|
|
Me.ProgressBar.Bar1.Value = 50
|
|
|
Me.ProgressBar.Info.Text = "Neue und Bestehende Werte zusammenstellen"
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Open_Excel(ByVal fname As String, ByVal xdata As DataTable, ByVal doktypeNr As Long)
|
|
|
Dim i As Integer
|
|
|
Me.Dokumenttypnr = doktypeNr
|
|
|
Me.inEditMode = True
|
|
|
DokumenTtyp.cpMainConnectionProvider = conn
|
|
|
DokumenTtyp.iDokumenttypnr = New SqlInt32(CType(Me.Dokumenttypnr, Int32))
|
|
|
DokumenTtyp.SelectOne()
|
|
|
Me.Excel_Dokument = True
|
|
|
|
|
|
Me.ProgressBar.Bar1.Value = 40
|
|
|
Me.ProgressBar.Info.Text = "Word-Dokument <20>ffnen"
|
|
|
|
|
|
Office_Vorlage.cpMainConnectionProvider = conn
|
|
|
Office_Vorlage.iOffice_vorlagenr = DokumenTtyp.iOffice_vorlagenr
|
|
|
Office_Vorlage.SelectOne()
|
|
|
StartExcel()
|
|
|
Dokumentfilename = fname
|
|
|
objExcel.Workbooks.Open(fname)
|
|
|
docExcel = objExcel.ActiveWorkbook
|
|
|
objExcel.Visible = False
|
|
|
Me.ProgressBar.Bar1.Value = 40
|
|
|
Me.ProgressBar.Info.Text = "Vorhandene Werte aus dem Dokument auslesen"
|
|
|
For i = 1 To docExcel.Sheets.Count
|
|
|
docExcel.Sheets(i).activate()
|
|
|
sheetExcel = docExcel.ActiveSheet
|
|
|
sheetExcel.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_excelvorlagen"))
|
|
|
IsProtected = True
|
|
|
Next i
|
|
|
Excel_Werte_Auslesen(xdata)
|
|
|
Me.ProgressBar.Bar1.Value = 50
|
|
|
Me.ProgressBar.Info.Text = "Neue und Bestehende Werte zusammenstellen"
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Excel_Werte_Auslesen(ByVal xdata As DataTable)
|
|
|
Dim i As Integer
|
|
|
Dim i1 As Integer
|
|
|
Dim sheets As Integer
|
|
|
sheets = docExcel.Sheets.Count
|
|
|
For i = 1 To sheets
|
|
|
docExcel.Sheets(i).activate()
|
|
|
For i1 = 0 To xdata.Rows.Count - 1
|
|
|
Try
|
|
|
objExcel.Range(docExcel.Names.Item(xdata.Rows(i1).Item("feldname")).NameLocal).Select()
|
|
|
xdata.Rows(i1).Item("oldvalue") = objExcel.Selection.text
|
|
|
xdata.Rows(i1).Item("used") = 1
|
|
|
Catch
|
|
|
End Try
|
|
|
Next
|
|
|
Next
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Excel_Vervollstaendigen(ByVal xdata As DataTable)
|
|
|
Dim Sheetnr_fuer_Cursor As Integer
|
|
|
Me.ProgressBar.Bar1.Value = 60
|
|
|
Me.ProgressBar.Info.Text = "Dokumentwerte <20>bertragen"
|
|
|
|
|
|
Dim i As Integer
|
|
|
Dim i1 As Integer
|
|
|
Dim sheets As Integer
|
|
|
sheets = docExcel.Sheets.Count
|
|
|
sheetnr_fuer_cursor = 0
|
|
|
For i = 1 To sheets
|
|
|
docExcel.Sheets(i).activate()
|
|
|
For i1 = 0 To xdata.Rows.Count - 1
|
|
|
Try
|
|
|
If xdata.Rows(i1).Item("beginntextmarke") = "TGEDKCursor" Or _
|
|
|
xdata.Rows(i1).Item("beginntextmarke") = "TGEDKCursorB" Or _
|
|
|
xdata.Rows(i1).Item("feldname") = "TGEDKCursorB" Or _
|
|
|
xdata.Rows(i1).Item("feldname") = "TGEDKCursor" Then
|
|
|
Try
|
|
|
objExcel.Range(docExcel.Names.Item(xdata.Rows(i1).Item("feldname")).NameLocal).Select()
|
|
|
Cursor_Positionieren = True
|
|
|
Sheetnr_fuer_Cursor = i
|
|
|
Catch
|
|
|
End Try
|
|
|
Else
|
|
|
objExcel.Range(docExcel.Names.Item(xdata.Rows(i1).Item("feldname")).NameLocal).Select()
|
|
|
objExcel.ActiveCell.FormulaR1C1 = xdata.Rows(i1).Item("xvalue")
|
|
|
|
|
|
End If
|
|
|
Catch
|
|
|
End Try
|
|
|
Next
|
|
|
'docExcel.Sheets(i).largescroll(down:=-10)
|
|
|
Next
|
|
|
If DokumenTtyp.bZu_retournieren.Value = True Then
|
|
|
Generate_Barcodes()
|
|
|
End If
|
|
|
If IsProtected Then
|
|
|
For i = 1 To docExcel.Sheets.Count
|
|
|
docExcel.Sheets(i).activate()
|
|
|
sheetExcel = docExcel.ActiveSheet
|
|
|
sheetExcel.Protect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_excelvorlagen"))
|
|
|
IsProtected = True
|
|
|
Next i
|
|
|
End If
|
|
|
If Cursor_Positionieren Then
|
|
|
Try
|
|
|
docExcel.Sheets(Sheetnr_fuer_Cursor).activate()
|
|
|
objExcel.Range(docExcel.Names.Item("TGEDKCursor").NameLocal).Select()
|
|
|
Catch
|
|
|
Try
|
|
|
docExcel.Sheets(Sheetnr_fuer_Cursor).activate()
|
|
|
objExcel.Range(docExcel.Names.Item("TGEDKCursorB").NameLocal).Select()
|
|
|
Catch
|
|
|
End Try
|
|
|
End Try
|
|
|
Else
|
|
|
objExcel.Sheets(1).activate()
|
|
|
End If
|
|
|
Me.ProgressBar.Close()
|
|
|
Control_Word()
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Diverse_Funktionen"
|
|
|
Public Function Change_Docname(ByVal s As String) As String
|
|
|
Dim splitt
|
|
|
Dim t As String
|
|
|
splitt = Split(s, ".")
|
|
|
t = splitt(0) + splitt(1) + splitt(2)
|
|
|
splitt = Split(t, ":")
|
|
|
t = splitt(0) + splitt(1) + splitt(2)
|
|
|
Change_Docname = t
|
|
|
End Function
|
|
|
|
|
|
Function convert(ByVal x As String) As String
|
|
|
Dim s As String
|
|
|
Dim s1 As String
|
|
|
Dim i As Integer
|
|
|
s = x
|
|
|
i = InStr(s, Chr(13))
|
|
|
While i > 0
|
|
|
s = Left(s, i - 1) & "#" & Right(s, Len(s) - (i))
|
|
|
If Mid(s, i + 1, 1) = Chr(10) Then
|
|
|
s = Left(s, i) & Right(s, Len(s) - (i + 1))
|
|
|
End If
|
|
|
i = InStr(s, Chr(13))
|
|
|
End While
|
|
|
i = InStr(s, "#")
|
|
|
While i > 0
|
|
|
s = Left(s, i - 1) & vbCrLf & Right(s, Len(s) - (i))
|
|
|
i = InStr(s, "#")
|
|
|
End While
|
|
|
convert = s
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Reporting"
|
|
|
Public Sub Get_Docvars(ByVal DokTypeNr As Long)
|
|
|
Dim id As String
|
|
|
Dim rec As New edokadb.clsReporting_Dokumenttyp()
|
|
|
rec.cpMainConnectionProvider = conn
|
|
|
conn.OpenConnection()
|
|
|
id = Now
|
|
|
Dim i As Short
|
|
|
For i = 1 To docWord.Bookmarks.Count
|
|
|
Try
|
|
|
If Left(UCase(docWord.Bookmarks.Item(i).Name), 2) <> "BK" And Left(UCase(docWord.Bookmarks.Item(i).Name), 4) <> "TGAM" Then
|
|
|
rec.sID = New SqlString(CType(id, String))
|
|
|
rec.sOFBM = New SqlString(CType(docWord.Bookmarks.Item(i).Name, String))
|
|
|
rec.Insert()
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
Next
|
|
|
For i = 1 To docWord.FormFields.Count
|
|
|
rec.sID = New SqlString(CType(id, String))
|
|
|
rec.sOFFeld = New SqlString(CType(docWord.FormFields.Item(i).Name, String))
|
|
|
rec.Insert()
|
|
|
Next
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.[sp_reporting_dokumenttyp]"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
|
|
|
Try
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@id", SqlDbType.VarChar, 25, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, id))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, DokTypeNr))
|
|
|
If Globals.MyMsg.Show_MessageYesNo(15) = MsgBoxResult.Yes Then
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@VFInaktivieren", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
Else
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@VFInaktivieren", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
End If
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Try
|
|
|
Dim f As New frmReporting()
|
|
|
f.show_report_dokumenttypVFelder(Dokumenttypnr, id)
|
|
|
f.Show()
|
|
|
|
|
|
scmCmdToExecute.Dispose()
|
|
|
scmCmdToExecute = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.[sp_reporting_dokumenttyp]"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Try
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.CommandText = "dbo.[sp_reporting_dokumenttyp_delete]"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@id", SqlDbType.VarChar, 25, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, id))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch es As Exception
|
|
|
MsgBox(es.Message)
|
|
|
End Try
|
|
|
conn.CloseConnection(True)
|
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "ControlWord"
|
|
|
|
|
|
Private Sub Control_Word()
|
|
|
Me.DocReadonly = False
|
|
|
Me.Dokument_Saved = False
|
|
|
'FileWatcher()
|
|
|
WATCHFILE()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Control_Word_readonly()
|
|
|
Me.DocReadonly = True
|
|
|
Me.Dokument_Saved = False
|
|
|
WATCHFILE()
|
|
|
End Sub
|
|
|
|
|
|
Private Function WATCHFILE()
|
|
|
'Wordwatch - <20>berpr<70>fung auf ge<67>ffnete
|
|
|
WordWatch.Filename = Me.DokumentName
|
|
|
If Me.Excel_Dokument Then
|
|
|
WordWatch.ApplicationType = 2
|
|
|
objExcel.Visible = True
|
|
|
Else
|
|
|
WordWatch.ApplicationType = 1
|
|
|
objWord.Visible = True
|
|
|
Disable_Enable_MenuFunctions(False)
|
|
|
End If
|
|
|
Word_Active = True
|
|
|
If Not Me.DocReadonly Then Save_DateTime = File.GetLastWriteTime(Me.Dokumentfilename)
|
|
|
Win32API.ShowWindow(Globals.Apphandle, Win32API.SW_Minimze)
|
|
|
WordWatch.Start()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " Task-Pr<50>fung gestartet")
|
|
|
|
|
|
Dim hnd As Long
|
|
|
hnd = Win32API.FindWindow(vbNullString, WordWatch.WindowName)
|
|
|
Win32API.ShowWindow(hnd, Win32API.SW_Maximize)
|
|
|
Win32API.BringWindowToTop(hnd)
|
|
|
End Function
|
|
|
|
|
|
Private Sub Finishing() Handles WordWatch.DocumentClosed
|
|
|
WordWatch.Stopp()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " Taskpr<70>fung gestoppt")
|
|
|
|
|
|
If Finished Then Exit Sub
|
|
|
Finished = True
|
|
|
|
|
|
Dim i As Integer
|
|
|
|
|
|
If Not Me.Excel_Dokument Then
|
|
|
If Globals.Words.Count = 0 Then Disable_Enable_MenuFunctions(True)
|
|
|
End If
|
|
|
|
|
|
If Me.DocReadonly Then
|
|
|
Delete_File()
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
If File.GetLastWriteTime(Me.Dokumentfilename) <> Save_DateTime Then
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " *** Dokument speichern start")
|
|
|
Save_Data()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " *** Dokument speichern ende")
|
|
|
Else
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " *** Dokument restore start")
|
|
|
Restore_Data()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " *** Dokument restore ende")
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
Words.Remove(Me.DokumentName)
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " Eintrag aus interner Collection entfernt")
|
|
|
If Globals.Words.Count = 0 Then Disable_Enable_MenuFunctions(True)
|
|
|
DivFnkt.Status_Dokumentbearbeitung(2, Me.DokumentID)
|
|
|
Catch
|
|
|
Finally
|
|
|
Win32API.ShowWindow(Globals.Apphandle, Win32API.SW_Maximize)
|
|
|
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Public Function FileWatcher()
|
|
|
Save_DateTime = File.GetLastWriteTime(Me.Dokumentfilename)
|
|
|
End Function
|
|
|
|
|
|
Private Sub filechange(ByVal source As Object, ByVal e As System.IO.FileSystemEventArgs)
|
|
|
If e.ChangeType = IO.WatcherChangeTypes.Changed Then
|
|
|
MsgBox(e.FullPath & " " & e.Name)
|
|
|
Me.Dokument_Saved = True
|
|
|
End If
|
|
|
End Sub
|
|
|
#End Region
|
|
|
|
|
|
#Region "Save / Restore"
|
|
|
|
|
|
Public Function Save_Data()
|
|
|
WordWatch.Stopp()
|
|
|
Save_Doc()
|
|
|
Update_Dokumentdetails()
|
|
|
Dim statush As New Statushandling()
|
|
|
statush.check_abschluss(Me.DokumentID, Globals.MitarbeiterNr)
|
|
|
End Function
|
|
|
|
|
|
Private Sub Change_Dokumentstatus()
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_archiv_changedokumentstatus"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.StatusChanges_Dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@status", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.StatusChanges_Status))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Finally
|
|
|
End Try
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
Public Function Restore_Data()
|
|
|
WordWatch.Stopp()
|
|
|
If Me.CreateDoc = True Then
|
|
|
Restore(1)
|
|
|
Win32API.ShowWindow(Globals.Apphandle, Win32API.SW_Maximize)
|
|
|
Dim s As String
|
|
|
s = MyTxt.Get_Meldungstext(80) + vbCrLf + vbCrLf + "Partner: " + Me.txtPartner + vbCrLf + "Dokument: " & Me.txtDokumenttyp
|
|
|
Dim f As New frmHinweismeldung1()
|
|
|
f.MsgBoxStyle = 1
|
|
|
f.Label1.Text = s
|
|
|
f.ShowDialog()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " " + s)
|
|
|
' MsgBox(s, MsgBoxStyle.Critical)
|
|
|
Else
|
|
|
Restore(2)
|
|
|
End If
|
|
|
DivFnkt.Status_Dokumentbearbeitung(2, Me.DokumentID)
|
|
|
End Function
|
|
|
|
|
|
Public Function Restore(ByVal typ As Integer)
|
|
|
Restore_Datasets()
|
|
|
End Function
|
|
|
|
|
|
|
|
|
Public Function Save_Doc()
|
|
|
Dim docsave As New DocMgmt()
|
|
|
docsave.Save_To_DB(Me.DokumentID, Me.Dokumentfilename)
|
|
|
docsave = Nothing
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " Dokument auf Datenbank gespeichert")
|
|
|
If Me.Dokumentcoldindex_Changed Then
|
|
|
Archivfnkt.insert_coldupdate_status(Me.save_dokumentcoldindex, Me.DokumentID, Me.dokumentcoldindex_status)
|
|
|
End If
|
|
|
If Me.Ersetzte_Dokumente_Reaktivieren = True Then
|
|
|
Dokumente_Reaktivieren()
|
|
|
End If
|
|
|
DivFnkt.Status_Dokumentbearbeitung(2, Me.DokumentID)
|
|
|
Delete_File()
|
|
|
End Function
|
|
|
|
|
|
Public Function Dokumente_Reaktivieren()
|
|
|
Dim da As New SqlDataAdapter("Select * from dokumentersetzen where hauptdokumentid='" & Me.DokumentID & "'", Globals.sConnectionString)
|
|
|
Dim ds As New DataSet()
|
|
|
Dim i As Integer
|
|
|
da.Fill(ds, "Ersetzen")
|
|
|
For i = 0 To ds.Tables(0).Rows.Count - 1
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Dokument_reaktivieren"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
conn.OpenConnection()
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ds.Tables(0).Rows(i).Item(2)))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiter", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
conn.CloseConnection(True)
|
|
|
Dim dt As DataTable
|
|
|
Dim sth As New Statushandling()
|
|
|
dt = sth.get_coldindex_and_statusnr(ds.Tables(0).Rows(i).Item(2), False, True)
|
|
|
Archivfnkt.insert_coldupdate_reaktivieren(dt, ds.Tables(0).Rows(i).Item(2), "Aktuell")
|
|
|
sth.Dispose()
|
|
|
End Try
|
|
|
Next
|
|
|
da.Dispose()
|
|
|
ds.Dispose()
|
|
|
End Function
|
|
|
|
|
|
Public Function Update_Dokumentdetails()
|
|
|
Dim doc As New edokadb.clsDokument()
|
|
|
doc.cpMainConnectionProvider = conn
|
|
|
conn.OpenConnection()
|
|
|
doc.sDokumentid = New SqlString(CType(Me.DokumentID, String))
|
|
|
doc.SelectOne()
|
|
|
doc.daMutiertam = New SqlDateTime(CType(Microsoft.VisualBasic.Now, DateTime))
|
|
|
doc.Update()
|
|
|
Dim statush As New Statushandling()
|
|
|
If (doc.iVerantwortlich.Value <> Globals.MitarbeiterNr) Then
|
|
|
If Me.save_stv = 1 Then
|
|
|
If doc.iVerantwortlich.Value <> Me.save_verantwortlicher Then
|
|
|
If Me.txtBemerkung_Verantwortlicher <> "" Then
|
|
|
statush.BemerkungVerantwortlicher = Me.txtBemerkung_Verantwortlicher
|
|
|
End If
|
|
|
statush.Meldung_Verantwortlicher(Me.DokumentID, doc.iVerantwortlich.Value)
|
|
|
End If
|
|
|
Else
|
|
|
If Me.txtBemerkung_Verantwortlicher <> "" Then
|
|
|
statush.BemerkungVerantwortlicher = Me.txtBemerkung_Verantwortlicher
|
|
|
End If
|
|
|
statush.Meldung_Verantwortlicher(Me.DokumentID, doc.iVerantwortlich.Value)
|
|
|
|
|
|
End If
|
|
|
End If
|
|
|
If Me.send_statusmessage = True Then
|
|
|
statush.Meldung_Status(Me.DokumentID, doc.iStatusnr.Value)
|
|
|
End If
|
|
|
statush.Dispose()
|
|
|
doc.Dispose()
|
|
|
conn.CloseConnection(True)
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " Dokumentdetails nachgef<65>hrt")
|
|
|
End Function
|
|
|
|
|
|
Public Function Delete_File()
|
|
|
File.Delete(Me.Dokumentfilename)
|
|
|
RaiseEvent OfficeFinished()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " Lokale Kopie gel<65>scht")
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Public Sub Restore_Datasets()
|
|
|
Dim f As New FrmRestore()
|
|
|
f.Show()
|
|
|
f.Refresh()
|
|
|
Try
|
|
|
Restore_Coldindex()
|
|
|
Restore_Dokumentwerte()
|
|
|
Restore_Notizen()
|
|
|
Restore_InfoEmpfaenger()
|
|
|
Restore_dokumentzuordnungen()
|
|
|
Restore_Dokumentfunktionen()
|
|
|
Restore_Statushistory()
|
|
|
Restore_Dokumentersetzen()
|
|
|
If Me.CreateDoc = True Then
|
|
|
delete_dokumentstatus()
|
|
|
End If
|
|
|
Delete_File()
|
|
|
f.DokumentID = Me.DokumentID
|
|
|
f.SaveDocument = Me.Save_Dokument
|
|
|
f.NeuesDokument = Me.CreateDoc
|
|
|
f.Restore_Dokument()
|
|
|
If Me.Dokumentcoldindex_Changed = True Then Archivfnkt.Restore_Coldindex(Me.save_dokumentcoldindex, Me.DokumentID)
|
|
|
If Me.dokumentid_changed Then Archivfnkt.change_dokumentid(Me.DokumentID, Me.dokumentidalt)
|
|
|
f.Close()
|
|
|
f.Dispose()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " Restore durchgef<65>hrt")
|
|
|
Catch
|
|
|
f.Close()
|
|
|
f.Dispose()
|
|
|
Win32API.ShowWindow(Globals.Apphandle, Win32API.SW_Maximize)
|
|
|
Dim s As String
|
|
|
s = MyTxt.Get_Meldungstext(84) + vbCrLf + vbCrLf + "Partner: " + Me.txtPartner + vbCrLf + "Dokument: " & Me.txtDokumenttyp
|
|
|
Dim f1 As New frmHinweismeldung1()
|
|
|
f1.MsgBoxStyle = 1
|
|
|
f1.Label1.Text = s
|
|
|
f1.ShowDialog()
|
|
|
f1.Dispose()
|
|
|
Globals.PerfMon.insert_entry(Me.DokumentID + " " + s)
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
Private Sub Restore_Notizen()
|
|
|
'Sofern keine Notizen vorhanden sind, Sub verlassen
|
|
|
Dim i As Integer
|
|
|
Dim nnr As Long
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_Notizen"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
'Restore der alten notizen
|
|
|
For i = 0 To Save_Notizen.Rows.Count - 1
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Notizen.Rows(i).Item("dokumentid")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@notiznr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Notizen.Rows(i).Item("notiznr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@betreff", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Notizen.Rows(i).Item("betreff")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Notizen.Rows(i).Item("notiz")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Notizen.Rows(i).Item("mutiert_am")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Notizen.Rows(i).Item("mutierer")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Notizen.Rows(i).Item("aktiv")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
Next
|
|
|
'L<>schen der neuen Notizen
|
|
|
nnr = 0
|
|
|
For i = 0 To Save_Notizen.Rows.Count - 1
|
|
|
If Save_Notizen.Rows(i).Item("notiznr") > nnr Then nnr = Me.Save_Notizen.Rows(i).Item("notiznr")
|
|
|
Next
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@notiznr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nnr))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@betreff", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Microsoft.VisualBasic.Now))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Restore_Coldindex()
|
|
|
Dim i As Integer
|
|
|
Dim nnr As Long
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_ColdIndex"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
|
|
|
If Me.CreateDoc = True Then
|
|
|
'Coldindexwerte bei neuem Dokument l<>schen
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@coldindexwertnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Now))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Restore Coldindex - Delete::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Try
|
|
|
Exit Sub
|
|
|
End If
|
|
|
'Restore der alten Indexwerte
|
|
|
For i = 0 To Save_ColdIndex.Rows.Count - 1
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_ColdIndex.Rows(i).Item("dokumentid")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@coldindexwertnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_ColdIndex.Rows(i).Item("coldindexwertnr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_ColdIndex.Rows(i).Item("wert")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_ColdIndex.Rows(i).Item("mutiert_am")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_ColdIndex.Rows(i).Item("mutierer")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_ColdIndex.Rows(i).Item("aktiv")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Restore Coldindex::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
Next
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Restore_Dokumentwerte()
|
|
|
Dim i As Integer
|
|
|
Dim nnr As Long
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_Dokumentwerte"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
|
|
|
If Me.CreateDoc = True Then
|
|
|
'Coldindexwerte bei neuem Dokument l<>schen
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentinfonr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Now))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Restore Coldindex - Delete::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Try
|
|
|
Exit Sub
|
|
|
End If
|
|
|
'Restore der alten Indexwerte
|
|
|
For i = 0 To Save_Dokumentwerte.Rows.Count - 1
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentwerte.Rows(i).Item("dokumentid")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentinfonr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentwerte.Rows(i).Item("dokumentinfonr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentwerte.Rows(i).Item("inhalt")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentwerte.Rows(i).Item("mutiert_am")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentwerte.Rows(i).Item("mutierer")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentwerte.Rows(i).Item("aktiv")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Restore Coldindex::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
Next
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Restore_InfoEmpfaenger()
|
|
|
Dim i As Integer
|
|
|
Dim nnr As Long
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_DokumentInfoEmpfaenger"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
|
|
|
For i = 0 To Save_Dokumentinfomeldungen.Rows.Count - 1
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("dokumentid")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentinfomeldungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("dokumentinfomeldungnr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@empfaenger", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("empfaengernr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("inhalt")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@meldungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("meldungstext")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@beistatus", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("beistatus")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("mutiert_am")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("mutierer")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentinfomeldungen.Rows(i).Item("aktiv")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Restore Coldindex - Delete::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
Next i
|
|
|
|
|
|
'L<>schen der neuen InfoEmpf<70>nger
|
|
|
Dim nn As Integer
|
|
|
nnr = 0
|
|
|
For i = 0 To Save_Dokumentinfomeldungen.Rows.Count - 1
|
|
|
If Save_Dokumentinfomeldungen.Rows(i).Item("dokumentinfomeldungnr") > nnr Then nnr = Me.Save_Dokumentinfomeldungen.Rows(i).Item("dokumentinfomeldungnr")
|
|
|
Next
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentinfomeldungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nnr))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@empfaenger", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@meldungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@beistatus", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Now))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
Throw New Exception("Dokument_Infoempf<70>nger::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Restore_dokumentzuordnungen()
|
|
|
'Sofern keine Notizen vorhanden sind, Sub verlassen
|
|
|
Dim i As Integer
|
|
|
Dim nnr As Long
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_Dokumentzuordnungen"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
'Restore der alten notizen
|
|
|
For i = 0 To Save_Dokumentzuordnungen.Rows.Count - 1
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid1", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentzuordnungen.Rows(i).Item("dokumentid1")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid2", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentzuordnungen.Rows(i).Item("dokumentid2")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentzuordnungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentzuordnungen.Rows(i).Item("nreintrag")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentzuordnungen.Rows(i).Item("mutiert_am")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentzuordnungen.Rows(i).Item("mutierer")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@zuordnungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentzuordnungen.Rows(i).Item("zuordnungnr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_Dokumentzuordnungen.Rows(i).Item("aktiv")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
Next
|
|
|
'L<>schen der neuen Notizen
|
|
|
nnr = 0
|
|
|
For i = 0 To Save_Dokumentzuordnungen.Rows.Count - 1
|
|
|
If Save_Dokumentzuordnungen.Rows(i).Item("nreintrag") > nnr Then nnr = Me.Save_Dokumentzuordnungen.Rows(i).Item("nreintrag")
|
|
|
Next
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid1", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid2", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentzuordnungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nnr))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Now))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@zuordnungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
Private Sub Restore_Dokumentfunktionen()
|
|
|
'Sofern keine dokumentfunktionen vorhanden sind, Sub verlassen
|
|
|
Dim i As Integer
|
|
|
Dim nnr As Long
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_Dokumentfunktionen"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
'Restore der alten dokumentfunktionen
|
|
|
For i = 0 To Save_DokumentFunktionen.Rows.Count - 1
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_DokumentFunktionen.Rows(i).Item("dokumentid")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentfunktiongruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_DokumentFunktionen.Rows(i).Item("dokumentfunktiongruppenr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_DokumentFunktionen.Rows(i).Item("mutiert_am")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_DokumentFunktionen.Rows(i).Item("mutierer")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Save_DokumentFunktionen.Rows(i).Item("aktiv")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
Next
|
|
|
'L<>schen der neuen dokumentfunktionen
|
|
|
nnr = 0
|
|
|
For i = 0 To Save_DokumentFunktionen.Rows.Count - 1
|
|
|
If Save_DokumentFunktionen.Rows(i).Item("dokumentfunktiongruppenr") > nnr Then nnr = Me.Save_DokumentFunktionen.Rows(i).Item("dokumentfunktiongruppenr")
|
|
|
Next
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentfunktiongruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nnr))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutiertam", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Microsoft.VisualBasic.Now))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Restore_Statushistory()
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_statushistory"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@statushistorynr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.save_historystatus))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Restore Coldindex - Delete::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Private Sub delete_dokumentstatus()
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_delete_dokumentstatus"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Restore Coldindex - Delete::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Restore_Dokumentersetzen()
|
|
|
'Sofern keine dokumentfunktionen vorhanden sind, Sub verlassen
|
|
|
Dim i As Integer
|
|
|
Dim nnr As Long
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Restore_Dokumentersetzen"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
'Restore der alten dokumentfunktionen
|
|
|
For i = 0 To save_dokumentersetzen.Rows.Count - 1
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentersetzennr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, save_dokumentersetzen.Rows(i).Item("dokumentersetzennr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@hauptdokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, save_dokumentersetzen.Rows(i).Item("aktiv")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
Next
|
|
|
'L<>schen der neuen dokumentfunktionen
|
|
|
nnr = 0
|
|
|
For i = 0 To save_dokumentersetzen.Rows.Count - 1
|
|
|
If save_dokumentersetzen.Rows(i).Item("dokumentersetzennr") > nnr Then nnr = Me.save_dokumentersetzen.Rows(i).Item("dokumentersetzennr")
|
|
|
Next
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Clear()
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentersetzennr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nnr))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@hauptdokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.DokumentID))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
|
Finally
|
|
|
End Try
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "TM-Pr<50>fung"
|
|
|
|
|
|
Dim ofile As System.IO.File
|
|
|
Dim oread As System.IO.TextWriter
|
|
|
|
|
|
Public Sub Check_Doks()
|
|
|
oread = ofile.CreateText("c:\tm.txt")
|
|
|
Dim dokt As New edokadb.clsDokumenttyp()
|
|
|
dokt.cpMainConnectionProvider = conn
|
|
|
'conn.OpenConnection()
|
|
|
Dim da As DataTable
|
|
|
da = dokt.SelectAll()
|
|
|
Dim a As Long
|
|
|
a = InputBox("Ab Dokumenttypnr")
|
|
|
Dim i As Integer
|
|
|
For i = 0 To da.Rows.Count - 1
|
|
|
If da.Rows(i).Item("aktiv") = True And da.Rows(i).Item("dokumenttypnr") > a And da.Rows(i).Item("Dokument_wird_erstellt") = True Then
|
|
|
Me.Dokumenttypnr = da.Rows(i).Item("dokumenttypnr")
|
|
|
oread.WriteLine("------->" + Str(da.Rows(i).Item("dokumenttypnr")) + " " + da.Rows(i).Item("bezeichnung"))
|
|
|
oread.Flush()
|
|
|
check_word()
|
|
|
End If
|
|
|
Next
|
|
|
oread.Close()
|
|
|
End Sub
|
|
|
|
|
|
Public Sub check_word()
|
|
|
'Office-Vorlage auslesen
|
|
|
DokumenTtyp.cpMainConnectionProvider = conn
|
|
|
DokumenTtyp.iDokumenttypnr = New SqlInt32(CType(Me.Dokumenttypnr, Int32))
|
|
|
DokumenTtyp.SelectOne()
|
|
|
Office_Vorlage.cpMainConnectionProvider = conn
|
|
|
Office_Vorlage.iOffice_vorlagenr = DokumenTtyp.iOffice_vorlagenr
|
|
|
Office_Vorlage.SelectOne()
|
|
|
|
|
|
If Office_Vorlage.iAnwendungnr.Value = 2 Then
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
'Tempor<6F>r-Datei
|
|
|
Dokument_Temp = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente")
|
|
|
Dokument_Temp = Dokument_Temp + Office_Vorlage.sPrefix_dokumentname.Value + ".doc"
|
|
|
|
|
|
'Nativ-Dokumentvorlage
|
|
|
If Not Office_Vorlage.bIdv_vorlage.Value = True Then
|
|
|
Else
|
|
|
Dokumentfilename = "c:\edokatemp\wordcheck.doc"
|
|
|
Create_IDVDokument(Office_Vorlage.sIdv_id.Value)
|
|
|
End If
|
|
|
|
|
|
IsProtected = False
|
|
|
If docWord.ProtectionType <> WdProtectionType.wdNoProtection Then
|
|
|
docWord.Unprotect(password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
IsProtected = True
|
|
|
End If
|
|
|
Dim i As Integer
|
|
|
For i = 1 To docWord.Bookmarks.Count
|
|
|
If InStr(docWord.Bookmarks.Item(i).Name, "Betreuer") > 0 Then
|
|
|
oread.WriteLine(DokumenTtyp.sBezeichnung.Value + " - " + docWord.Bookmarks.Item(i).Name)
|
|
|
End If
|
|
|
Next
|
|
|
docWord.Close()
|
|
|
objWord.Quit()
|
|
|
docWord = Nothing
|
|
|
objWord = Nothing
|
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Etiketten"
|
|
|
Public Function Create_Labels()
|
|
|
StartWord()
|
|
|
docWord = objWord.Documents.Add
|
|
|
objWord.MailingLabel.DefaultPrintBarCode = False
|
|
|
objWord.MailingLabel.CreateNewDocument(Name:="Herma 4611", Address:="", AutoText:="")
|
|
|
objWord.Visible = True
|
|
|
docWord = Nothing
|
|
|
docWord = objWord.ActiveDocument
|
|
|
Dim bc As New edokadb.clsBarcodeetikette()
|
|
|
Dim i As Integer
|
|
|
Dim i1 As Integer
|
|
|
Dim keys As New edokadb.clsMyKey_Tabelle()
|
|
|
Dim key As Long
|
|
|
Dim defkey As String
|
|
|
Dim yy As String
|
|
|
i1 = 0
|
|
|
bc.cpMainConnectionProvider = conn
|
|
|
For i = 0 To 50
|
|
|
keys.cpMainConnectionProvider = conn
|
|
|
key = keys.get_dbkey("barcodeetikette")
|
|
|
defkey = LTrim(key)
|
|
|
While Len(defkey) < 7
|
|
|
defkey = "0" + defkey
|
|
|
End While
|
|
|
yy = LTrim(Str(Year(Now)))
|
|
|
yy = Right(yy, 2)
|
|
|
|
|
|
defkey = yy + defkey
|
|
|
defkey = defkey + LTrim(Pruefziffer(defkey))
|
|
|
bc.iBarcodenr = New SqlInt32(CType(defkey, Int32))
|
|
|
bc.sDokumentid = New SqlString(CType("", String))
|
|
|
bc.bAktiv = New SqlBoolean(CType(True, Boolean))
|
|
|
bc.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
|
|
bc.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
|
bc.iMandantnr = New SqlInt32(CType(Globals.MandantNr, Int32))
|
|
|
bc.iMutierer = New SqlInt32(CType(Globals.MitarbeiterNr, Int32))
|
|
|
conn.OpenConnection()
|
|
|
bc.Insert()
|
|
|
conn.CloseConnection(True)
|
|
|
defkey = Bar25I(defkey)
|
|
|
objWord.Selection.TypeText(defkey)
|
|
|
objWord.Selection.HomeKey(unit:=Word.WdUnits.wdLine, extend:=Word.WdMovementType.wdExtend)
|
|
|
objWord.Selection.Font.Name = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("barcode_font")
|
|
|
objWord.Selection.Font.Size = 38
|
|
|
objWord.Selection.MoveRight(Unit:=Word.WdUnits.wdCharacter, Count:=1)
|
|
|
i1 = i1 + 1
|
|
|
If i1 = 3 Then
|
|
|
If i < 49 Then
|
|
|
objWord.Selection.MoveDown(unit:=Word.WdUnits.wdLine, count:=1)
|
|
|
objWord.Selection.MoveLeft(unit:=Word.WdUnits.wdCharacter, count:=2)
|
|
|
i1 = 0
|
|
|
End If
|
|
|
Else
|
|
|
objWord.Selection.MoveRight(Unit:=Word.WdUnits.wdCharacter, Count:=1)
|
|
|
End If
|
|
|
|
|
|
Next
|
|
|
objWord.Selection.PageSetup.TopMargin = 0
|
|
|
objWord.Selection.PageSetup.LeftMargin = 10
|
|
|
End Function
|
|
|
|
|
|
Public Function Pruefziffer(ByVal zahl As String) As String
|
|
|
Dim ptab(9, 9) As Integer
|
|
|
Dim pz(9) As Integer
|
|
|
Dim s1, s2, s3 As String
|
|
|
|
|
|
Dim i1, i2 As Long
|
|
|
|
|
|
s1 = "0,9,4,6,8,2,7,1,3,5"
|
|
|
s2 = s1
|
|
|
For i1 = 0 To 9
|
|
|
For i2 = 0 To 9
|
|
|
ptab(i1, i2) = Mid(s2, (i2 * 2) + 1, 1)
|
|
|
Next
|
|
|
s3 = Microsoft.VisualBasic.Left(s1, 1)
|
|
|
s1 = Microsoft.VisualBasic.Right(s1, Len(s1) - 2)
|
|
|
s1 = s1 + "," + s3
|
|
|
s2 = s1
|
|
|
Next
|
|
|
pz(0) = 0
|
|
|
pz(1) = 9
|
|
|
pz(2) = 8
|
|
|
pz(3) = 7
|
|
|
pz(4) = 6
|
|
|
pz(5) = 5
|
|
|
pz(6) = 4
|
|
|
pz(7) = 3
|
|
|
pz(8) = 2
|
|
|
pz(9) = 1
|
|
|
|
|
|
Dim i, x, y, z, e As Integer
|
|
|
Dim xx As String
|
|
|
y = 0
|
|
|
For i = 1 To Len(zahl)
|
|
|
x = Val(Mid(zahl, i, 1))
|
|
|
y = ptab(x, y)
|
|
|
Next
|
|
|
Pruefziffer = Str(pz(y))
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Enabel / Disable"
|
|
|
Public Sub Disable_Enable_MenuFunctions(ByVal Enable As Boolean)
|
|
|
On Error Resume Next
|
|
|
Dim cmdctrl As Object
|
|
|
Dim i As Integer
|
|
|
On Error Resume Next
|
|
|
For i = 1 To objWord.CommandBars.Count
|
|
|
objWord.CommandBars(i).Reset()
|
|
|
Next
|
|
|
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=18)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=23)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=748)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=3823)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=30095)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=797)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=777)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=30017)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
For Each cmdctrl In objWord.CommandBars.FindControls(ID:=30045)
|
|
|
cmdctrl.enabled = Enable
|
|
|
Next cmdctrl
|
|
|
objWord.NormalTemplate.Saved = True
|
|
|
End Sub
|
|
|
|
|
|
Public Function ResetFunctions()
|
|
|
StartWord()
|
|
|
Disable_Enable_MenuFunctions(True)
|
|
|
objWord.Visible = True
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
End Class
|