Hallo zusammen!
Bei der Formatierung von Excel-Zellen und Spalten hoffe ich auf Eure Hilfe:
Programme:
Visual Studio 13 Professional
Microsoft Excel Prof. 2010 (= Version 14)
Stand (klappt - o.k.):
- Ansteuern und Öffnen einer Excel-Datei
- Übergabe von Werten
- einige Formatierungen
- Wechsel von Registerreitern
- Schließen der Datei
Fragen:
- "Option Explicit On" geht, aber "Option Strict On" wirft Fehler: "late binding" nicht möglich - Lösung?.
- Wie verwende ich Formatierungen, die in EXCEL-VBA Konstanten verwenden ("xlNone" etc.)?
Vielen Dank für Eure Hilfe!
Vaubehnet
Option Explicit On
'Option Strict On '<- kann nicht verwendet werden, da 'Spätes Binden' nicht _
zugelassen? - Lösung?
'Test von Formatierungen für EXCEL aus einer VB.NET-Anwendung heraus
'Verweis einbinden je nach Excel-Version
'Menü: Projekt-Verweis hinzufügen;
' Assemblys-Erweiterungen-Microsoft.Office.Interop.Excel 14.0.0.0 oder 15.0.0.0
Imports Microsoft.Office.Interop
Public Class frmExcelTest
Private Sub btnExceltest_Click(sender As Object, e As EventArgs) Handles _
btnExceltest.Click
'-----------------------------------------
'Testcode:
'- Ansteuern einer bestehenden Excel-Datei
'- Übergeben von Werten
'- Formatieren von Zellen
'Variablen
'Pfad und Name der Excel-Datei
'Die Beispieldatei ist leer und hat die üblichen drei Register:
' 'Tabelle1', 'Tabelle2' und 'Tabelle3'
Dim strFilename As String = "i:\Exceltest.xlsx"
'Variablen für Excel
Dim app As New Excel.Application
Dim workbooks As Excel.Workbooks = app.Workbooks
Dim workbook As Excel.Workbook = workbooks.Add()
'Variablen für den Test
Dim strText As String = "String für Excel"
Dim intNummer As Integer = 5000
Dim dblBetrag As Double = 123.45
Dim datDate As Date = "25.01.2022"
'Prüfen, ob Datei existiert.
If System.IO.File.Exists(strFilename) = False Then
MsgBox("Die Datei: " + vbCrLf + strFilename + "existiert nicht!", _
CType(vbOK, MsgBoxStyle), "Fehler")
Exit Sub
End If
app = CType(CreateObject("Excel.Application"), Excel.Application)
With app
'Datei öffnen manipulieren
workbook = .Workbooks.Open(strFilename)
'Excel-Blatt auswählen
workbook.Sheets("Tabelle1").activate()
'Werte schreiben
With workbook.Sheets("Tabelle1")
'Einen Bereich mit Leerstring überschreiben
.range("A1:C20") = ""
'Einen Bereich löschen
.range("A1:C20").delete()
'String
.range("A1").value = strText
'Integer
.range("A2").value = CInt(intNummer)
'Double
.range("A3").value = CDbl(dblBetrag)
'Datum
.range("A4").value = CDate(datDate)
'fett
.range("A5").value = "Das wird fett"
.range("A5").font.bold = True
'kursiv
.range("A6").value = "Das wird kursiv"
.range("A6").font.italic = True
'Farbe
.range("A7").value = "Die Zelle wird grau"
.range("A7").interior.color = RGB(204, 204, 204)
'selektieren
.range("A1:C20").select()
'-----------------------------
'Fragen zu Zelle und Inhalt:
'Eine Zelle/einen Bereich mit einfachem Rahmen versehen?
'Eine Zelle/einen Bereich doppelt unterstreichen?
'Alle Formatierungen zurücknehmen (xlnone)
'Schriftgröße und Schriftart zuweisen
'Zellformat und Formatierung zuweisen (1.000er Punkte, 2
' Nachkommast., rechts
'Einer Zelle ein Datumsformat zuweisen
'Nicht einer Zelle, sondern einem Text eine Farbe zuweisen
End With
'Spalten automatisch in der Breite anpassen
app.Columns.AutoFit()
'-------------------------------------------------------
'Fragen zu Reihen, Spalten und Register sowie Dateiname:
'Spalten eine feste Breite zuweisen
'Reihen eine feste Höhe zuweisen
'Einen Registerreiter umbenennen
'Einem Registerreiter eine Farbe zuweisen
'Spaltenüberschriften (A, B, C, ...) ausblenden / einblenden
'Linien ausblenden/einblenden
'Excel-Datei drucken
'Excel-Datei unter einem anderen Namen speichern
workbooks.Close()
.Quit()
End With
End Sub
End Class ---
Verwendete Programmversionen:
Windows 7 64 bit sowie Windows 10 Prof.
Visual Studio 13 Professional
Microsoft Prof. 2010 (= Version 14) |