Hallo Andi, perfekt!
Die Excel-Ansteuerung funktioniert jetzt mit "Option Strict on", "Option Explicit on" sowie "neue Datei erstellen" und "bestehende Datei öffnen und ändern".
Ich habe Deine Codezeilen einmal als komplettes Beispiel in beiden Varianten eingearbeitet - das ist sicher auch für andere hilfreich:
Option Explicit On
Option Strict On
Imports Microsoft.Office.Interop
Public Class Form2
Private Sub btnExcel2_Click(sender As Object, e As EventArgs) Handles _
btnExcel2.Click
'Beispielcode Excel-Ansteuerung
'Verweis einbinden je nach Excel-Version
'Menü: Projekt-Verweis hinzufügen;
' Assemblys-Erweiterungen-Microsoft.Office.Interop.Excel 14.0.0.0 (
' Office Prof. 10) oder 15.0.0.0
'Variablen für Excel-Ansteuerung
Dim strFilename As String = "i:\Exceltest.xlsx"
Dim xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
Dim xlWorkbooks As Excel.Workbooks = xlApp.Workbooks
'Code Variante a): neue Excel-Datei erstellen
Dim xlWorkbook As Excel.Workbook = xlWorkbooks.Add()
'Code Variante b): bestehende Excel-Datei öffnen
'Dim xlWorkbook As Excel.Workbook = xlWorkbooks.Open(strFilename)
'Drei Variablen
Dim intNummer As Integer = 5000
Dim dblBetrag As Double = 123.45
Dim datDate As Date = Date.Parse("25.01.2022")
'----------------------------------------------------------------
'Option Strict On: Worksheet
Dim xlWorksheet1 As Excel.Worksheet = CType(xlWorkbook.Sheets( _
"Tabelle1"), Excel.Worksheet)
With xlApp
With xlWorksheet1 'Register: Tabelle1
'Aktivieren
.Activate()
'Werte
.Range("A2").Value = intNummer
.Range("A3").Value = dblBetrag
.Range("A4").Value = datDate
'Layout
'fett
.Range("A5").Value = "Das wird fett dargestellt"
.Range("A5").Font.Bold = True
'kursiv
.Range("A6").Value = "Das wird kursiv dargestellt"
.Range("A6").Font.Italic = True
'Farbe zuweisen
.Range("A7").Value = "Die Zelle wird grau dargestellt"
.Range("A7").Interior.Color = RGB(204, 204, 204)
End With
xlApp.Columns.AutoFit()
'Codevariante a) neue Datei unter einem bestimmten Namen speichern
xlWorkbook.SaveAs("i:\NeueDatei.xlsx")
MsgBox("Datei unter dem Namen i:\NeueDatei.xlsx gespeichert.", _
CType(vbOK, MsgBoxStyle), "Datei gespeichert")
'Codevariante b) bestehende Datei direkt speichern:
'xlWorkbook.Save()
'MsgBox(strFilename & " gespeichert.", CType(vbOK, MsgBoxStyle),
' "Datei gespeichert")
'Codevariante c) Nachfragen lassen, wie mit der Datei verfahren
' werden soll (Überschreiben, speichern, ...)
'a) und b) müssen dafür auskommentiert werden
'Der Name kann dann vergeben werden.
'xlWorkbooks.Close()
.Quit()
End With
End Sub
End Class Vielen Dank für die Super Hilfe!
Vaubehnet
... und wenn ich jetzt noch die Formatierungen hinkriege (Rahmen etc.) ...
---
Verwendete Programmversionen:
Windows 7 64 bit sowie Windows 10 Prof.
Visual Studio 13 Professional
Microsoft Prof. 2010 (= Version 14) |