Übersichtsliste VBS CreateObject

gingele

Level-1
Beiträge
227
Reaktionspunkte
42
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich les mich gerade in VBScrip ein, hatte bis gestern davon keine Ahnung aber mit C/C++ Kentnissen gehts eigentlich ganz gut.

Jetzt gibt es aber den CreateObject("...") Befehl, mit den man verschiedene ich nenns mal Windowsanwendungen benutzen kann.

Gibts da ne Übersicht was was macht und was es alles gibt, ich finde irgendwie nichts Vernünftiges.

Gruß Frank
 
CreateObject und GetObject benutze ich gern beim Zugriff auf eine Excel-Arbeitsmappe, wobei ich GetObject bevorzuge.
GetObject hat den Vorteil, dass man die Excel schon mit Excel-Bordmitteln vorbereiten kann.

Der nachfolgende VB6.0-Code öffnet zuerst die Excel-Arbeitsmappe und schreibt dann den Wert 12345 in die Zelle A1. CurDir sucht die Mappe im Default-Ordner. Notfalls musst Du hier den kompletten Pfad angeben.

In Büchern, die sich mit EXCEL-VBA beschäftigen findest Du weitere Beispiele mit CreateObject und GetObject.

Code:
Private Sub cmdExcelStart_Click()
Dim Exc As Object 'späte Bindung der Objektvariable Exc an Excel-Mappe
Set Exc = GetObject(CurDir() + "\Mappe1.xls")
Exc.Application.Visible = True
Exc.Windows(1).Visible = True
Form1.Show 'damit das VB-Fenster wieder im Vordergrund ist
End Sub
 
Private Sub cmdWertSchreiben_Click()
Dim Exc As Object 'späte Bindung der Objektvariable Exc an Excel
Set Exc = GetObject(CurDir() + "\Mappe1.xls")
Exc.Worksheets(1).Range("A1").Value = 12345
End Sub


Gruß
Earny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnelle Antwort und das Beispiel, aber ich bin eher nach einer Übersicht von möglichst allen Möglichkeiten der GetObject und CreateObject, nicht nur für Exel, sondern auch für Messageboxen, sonstige Anbindungen, alles Mögliche halt was damit Möglich ist. Ich weiß nicht ob es so eine Übersicht gibt, bloss wenn ja währe das ne enorme Lernerleichterung und auch eine super Feature fürs Programmieren.
 
Hi

Ich würde diese Liste auch suchen, finde jedoch nichts.

Eine Liste für Windows und WinCE wäre echt gut.
Derzeit gefunden oder benutzt:

Windows:
Set FSO = CreateObject("Scripting.FileSystemObject") ' Dateien , Ordner . . .

Set NW = CreateObject ("WScript.network") ' Drucker, Computername, Netzlaufwerke

'set an instance of database
Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
'open the connection to database with DataSourceName "LogSQL"
conn.Open "Provider=MSDASQL;DSN=LogSQL"
 
Hi

Also für WinCC TIA v13+

Mich würde es interessieren, ob man von Windows eine Ethernetverbindung IP-Adresse angeben, Öffnen, Lesen, Schreiben kann ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die von mir am 16.4.2010 vorgestellte Möglichkeit, aus VB.NET direkt auf eine EXCEL-Mappe zuzugreifen, funktioniert nur bis EXCEL 2010.

Der Zugriff auf EXCEL 2013 geht so:

'Exc ist formweit deklariert. Dies ermöglicht einen Zugriff aus mehreren Subs.

Dim Exc As New Microsoft.Office.Interop.Excel.Application

Private Sub btnMappeOeffnen_Click(sender As Object, e As EventArgs) Handles btnMappeOeffnen.Click
Try
Exc.Workbooks.Open(My.Computer.FileSystem.CurrentDirectory & "\Mappe1.xlsx")
Exc.Visible = True
Exc.Windows(1).Visible = True
Me.Activate() 'Vb-Formular in den Vordergrund bringen

Catch ex As Exception
MessageBox.Show(ex.Message, "Excel-Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
MessageBox.Show("Das Anwenderprogramm MS-Excel ist nicht installiert " & vbCrLf & "oder die Mappe1.xlsx fehlt.", "Fehler bei der Programmausführung", MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

End Sub

Zusätzlich müssen noch Verweise auf die "Microsoft.Office.Core" und die "Microsoft.Office.Interop.Excel" vorhanden sein.



Ich würde heute keine direkten Zugriffe aus VB.NET oder WinCC V1x mehr machen und stattdessen eher in csv-Dateien schreiben. Die können dann problemlos mit fast jedem Editor, aber auch mit EXCEL geöffnet werden.
 
Zuletzt bearbeitet:
Zurück
Oben