vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Frage zu Excelanbindung VB.net 
Autor: Michael Becker
Datum: 20.08.09 14:06

Hallo,

wahrscheinlich übersehe ich nur eine Kleinigkeit. Ich habe ein DataGridView auf die Oberfläche gepackt und dieses nach dem Befüllen nach Excel exportiert (Hierfür habe ich hier die Funktion aus vbarchiv benutzt) und es funktioniert einwandfrei.

Nun möchte ich die Zellen in Excel aus vb.net heraus formatieren. Ich habe hierfür die Formatierung
als Makro in Excel durchgeführt und den Code in vb.net angepasst.

PROBLEM:

Das Programm meckert bei ... .xlCenter, xlBottom und .xlContext
             With Excel.Selection
                .HorizontalAlignment =  .xlCenter
                .VerticalAlignment = .xlBottom
                .ReadingOrder = .xlContext
                ...
                ...
                ...
              End With
mit der Fehlermeldung:
Zitat:

Der öffentliche Member xlCenter für den Typ Range wurde nicht gefunden



Ich habe es auch schon mit ...

.HorizontalAlignment =  Excel.Constants.xlCenter
...probiert, aber auch dort meckert er mit der Fehlermeldung:
Zitat:

Der öffentliche Member Constants für den Typ ApplicationClass wurde nicht gefunden




Hier die komplette Funktion:

    Public Function excelexport(ByVal dgv As DataGridView, Optional ByVal _
      FillHiddenMode As Boolean = True) As Boolean
        Try
            Dim Excel As Excel.Application    ' Verweis auf Excel-Application
            Dim EXMappe As Excel.Workbook     ' Excel Arbeitsmappe
            Dim EXBlatt As Excel.Worksheet    ' Excel Blatt ( Die angezeigte 
            ' Tabelle)
            Dim AZ As Integer                 ' Nimmt die Zeilenanzahl auf
            Dim anzahlzeile As Long
            Dim anzahlspalte As Long
 
 
            ' neue Instanz von Excel erstellen und ggf. sofort anzeigen
            Excel = New Excel.Application()
            Excel.Visible = Not FillHiddenMode
 
            ' neue Mappe hinzufügen
            EXMappe = Excel.Workbooks.Add()
 
            ' aktuelles Blatt anzeigen
            EXBlatt = EXMappe.ActiveSheet
 
            With dgv
                ' Spaltenüberschriften übertragen
                For Spalte As Integer = 0 To .Columns.Count - 1
                    EXBlatt.Cells(1, Spalte + 1).Value = .Columns( _
                      Spalte).HeaderText
                Next
 
                ' Anzahl Datenzeilen
                AZ = .Rows.Count
                If .AllowUserToAddRows = True Then
                    ' Leerzeile abziehen
                    AZ = AZ - 1
                End If
 
                ' Datenzeilen übertragen
                For Zeile As Integer = 0 To AZ - 1
                    anzahlzeile = anzahlzeile + 1
                    For Spalte As Integer = 0 To .Columns.Count - 1
                        anzahlspalte = anzahlspalte + 1
                        EXBlatt.Cells(Zeile + 2, Spalte + 1).Value() = _
                          .Rows(Zeile).Cells(Spalte).Value.ToString
                        Application.DoEvents()
 
                    Next
                    anzahlspalte = 0
                Next
            End With
 
            AZ = Me.dgvrechnung.RowCount
 
            EXBlatt.Cells.Select()
            EXBlatt.Cells.EntireColumn.AutoFit()
            EXBlatt.Range("D2:L" & AZ).Select()
            With Excel.Selection
                .HorizontalAlignment = .xlCenter
                .VerticalAlignment = .xlBottom
                .WrapText = False
                .Orientation = 0
                .AddIndent = False
                .IndentLevel = 0
                .ShrinkToFit = False
                .ReadingOrder = .xlContext
                .MergeCells = False
            End With
 
 
            ' Excel jetzt anzeigen
            If FillHiddenMode Then Excel.Visible = True
            Return True
 
        Catch ex As Exception
            ' Fehler
            MsgBox("Fehler beim Übertragen der Daten nach Excel!" & vbCrLf & _
              ex.Message, MsgBoxStyle.Exclamation)
            Return False
        End Try
    End Function
Weiß da jemand Rat ?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Frage zu Excelanbindung VB.net2.875Michael Becker20.08.09 14:06
Re: Frage zu Excelanbindung VB.net1.158ModeratorDaveS20.08.09 14:23
Re: Frage zu Excelanbindung VB.net1.177Michael Becker20.08.09 14:40
Re: Frage zu Excelanbindung VB.net1.174ModeratorDaveS20.08.09 14:47
Re: Frage zu Excelanbindung VB.net1.113Michael Becker20.08.09 15:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel