vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Fortgeschrittene Programmierung
Re: Zahlenfelder in Excel-Tabelle 
Autor: Mathen
Datum: 25.11.02 19:20

Hey Mahobi,

also als erstes mußt Du im VB-Projekt unter Verweise die "Microsoft Excel 8.0 Object Library" aktivieren. Dann ein Modul zum Projekt hinzufügen und den folgender Code hinein kopieren.

'Modul*****************************************
Option Explicit
'
Public xlApp As Application
'
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Any) As Long
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
Public Declare Function SetActiveWindow Lib "user32" (ByVal hWnd As Long) As Long
Public Declare Function GetActiveWindow Lib "user32" () As Long
'
'
Public Sub ExcelOpen(Path$, File$, Worksheet$)
'
On Error GoTo ErrorSub
'
Dim OldWindowID&
Dim ExcelWindowID&
Dim DummyWindowID&
Dim xlWorkbook As Object
'
Const WM_USER = 1024
'
OldWindowID& = GetActiveWindow()
'
If UCase$(Dir$(Path$ & File$)) <> Trim$(UCase$(File$)) Then GoTo ErrorSub ' ** file not found **
ExcelWindowID& = FindWindow("XLMain", 0&)
If ExcelWindowID& = 0 Then 'Excel is not open
Set xlApp = GetObject("", "Excel.Application")
xlApp.Workbooks.Open Path$ & File$
xlApp.Visible = True
Else 'Excel is already open
SendMessage ExcelWindowID&, WM_USER + 18, 0, 0
Set xlWorkbook = GetObject(Path$ & File$)
Set xlApp = xlWorkbook.Application
End If
xlApp.Windows(File$).Activate
xlApp.ActiveWindow.WindowState = 2
xlApp.Workbooks(File$).Worksheets(Worksheet$).Select
' DummyWindowID& = SetForegroundWindow(ExcelWindowID&)
DummyWindowID& = SetForegroundWindow(OldWindowID&)
' Set xlApp = Nothing
Set xlWorkbook = Nothing
'
Exit Sub
'
ErrorSub:
'
Set xlApp = Nothing
Set xlWorkbook = Nothing
Beep
MsgBox "Can't open Excel file !" & Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10) & "File : " & Path$ & File$ & Chr$(13) & Chr$(10) & "Worksheet : " & Worksheet$, 48 + 256
'
Exit Sub
'
End Sub ' ExcelOpen *********************************

Dann nimmst Du Dir eine neue Form und kopierst den folgenden Code darein!

' Form ********************************************
Option Explicit

Private Sub Command1_Click()
'
ExcelOpen "C:\Tmp\", "Test66.xls", "Tabelle1"
xlApp.ActiveCell = "Hallo Excel"
MsgBox xlApp.Cells(1, 1)
'
End Sub ' Command1_Click

Private Sub Form_Unload(Cancel As Integer)
'
Set xlApp = Nothing
'
End Sub ' Form_Unload ***********************************

Die Excel-Datei, in diesem Fall Test66.xls, muß allerdings auf der Festplatte bereits vorhanden sein.
Nachdem die ExcelOpen Routine durchlaufen ist kannst Du jetzt so weiter programmieren, als wenn Du Dich in der VB-Umgebung von Excel selber befinden würdest. Du mußt nur immer das Prefix xlApp. voranstellen. Probier es mal aus.

Gruß Mathen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zahlenfelder in Excel-Tabelle149Mahobi20.11.02 13:02
Re: Zahlenfelder in Excel-Tabelle343michi-bib20.11.02 13:12
Re: Zahlenfelder in Excel-Tabelle74Mahobi20.11.02 14:17
Re: Zahlenfelder in Excel-Tabelle313michi-bib20.11.02 18:01
Re: Zahlenfelder in Excel-Tabelle61Mahobi22.11.02 14:47
Re: Zahlenfelder in Excel-Tabelle291Mathen24.11.02 14:09
Re: Zahlenfelder in Excel-Tabelle296Mahobi24.11.02 19:15
Re: Zahlenfelder in Excel-Tabelle376unbekannt24.11.02 20:38
Re: Zahlenfelder in Excel-Tabelle334Mathen25.11.02 19:20
Re: Zahlenfelder in Excel-Tabelle295Mahobi25.11.02 23:14

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-2025 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