Option
Explicit
Public
VersNum(3)
As
String
Sub
Excel_connect()
Dim
appExcel
As
Excel.Application
Dim
wbkExcel
As
Excel.Workbook
Dim
wbsExcel
As
Excel.Worksheet
Dim
rngExcel
As
Excel.Range
Dim
rngZeile
As
Integer
Dim
Cell
As
Range
Dim
veAnzeige
As
String
Dim
veText
As
String
Set
appExcel = Excel.Application
Set
wbkExcel = appExcel.Workbooks.Open(
"M:\WV\SB\VE 00 Unterlagen alle VEs\06 Versicherungen\Gesamtübersichtsliste Versicherungen.xlsx"
, ,
True
, , , , , , , , , ,
False
)
Set
wbsExcel = wbkExcel.Worksheets(
"Versicherungen"
)
Set
rngExcel = wbsExcel.UsedRange
ActiveDocument.ContentControls(1).Title =
"VEAuswahl"
For
rngZeile = 2
To
rngExcel.Rows.Count
veAnzeige = rngZeile
veText = wbsExcel.Cells(rngZeile, 1).Value &
" - "
& wbsExcel.Cells(rngZeile, 3).Value &
" in "
& wbsExcel.Cells(rngZeile, 4).Value
Modul1.VE_Liste veAnzeige, veText
Next
wbkExcel.Close (
False
)
End
Sub
Function
VE_Liste(veAnzeige
As
String
, veText
As
String
)
Dim
objCC
As
ContentControl
Dim
objMap
As
XMLMapping
If
veAnzeige =
"2"
And
ActiveDocument.ContentControls(1).DropdownListEntries.Count > 0
Then
ActiveDocument.ContentControls(1).DropdownListEntries.Clear
End
If
Set
objCC = ActiveDocument.ContentControls(1)
objCC.DropdownListEntries.Add Text:=veText, Value:=veAnzeige
End
Function
Function
VersNummer()
Dim
appExcel
As
Excel.Application
Dim
wbkExcel
As
Excel.Workbook
Dim
wbsExcel
As
Excel.Worksheet
Dim
rngExcel
As
Excel.Range
Dim
rngZeile
As
Integer
Set
appExcel = Excel.Application
Set
wbkExcel = appExcel.Workbooks.Open(
"M:\WV\SB\VE 00 Unterlagen alle VEs\06 Versicherungen\Gesamtübersichtsliste Versicherungen.xlsx"
, ,
True
, , , , , , , , , ,
False
)
Set
wbsExcel = wbkExcel.Worksheets(
"Versicherungen"
)
Set
rngExcel = wbsExcel.UsedRange
rngZeile = GetValue(ActiveDocument.ContentControls(1))
VersNum(1) = wbsExcel.Cells(rngZeile, 5).Value
VersNum(2) = wbsExcel.Cells(rngZeile, 6).Value
VersNum(3) = wbsExcel.Cells(rngZeile, 7).Value
wbkExcel.Close (
False
)
End
Function
Function
GetValue(
ByVal
CC
As
ContentControl)
As
String
Dim
entry
As
ContentControlListEntry
Dim
rtn
As
String
If
CC.Type = wdContentControlDropdownList
Then
For
Each
entry
In
CC.DropdownListEntries
If
CC.Range.Text = entry.Text
Then
rtn = entry.Value
Exit
For
End
If
Next
End
If
Debug.Print rtn
MsgBox rtn
GetValue = rtn
End
Function