# Übersichtsliste VBS CreateObject



## gingele (16 April 2010)

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


----------



## Earny (16 April 2010)

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.


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


----------



## gingele (16 April 2010)

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.


----------



## gravieren (25 Februar 2018)

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"


----------



## gravieren (25 Februar 2018)

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 ?


----------



## Earny (25 Februar 2018)

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



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.


----------

