Zum Inhalt wechseln


Foto

VBS: Excel steuern - wo finde ich die Befehle?


  • Bitte melde dich an um zu Antworten
12 Antworten in diesem Thema

#1 blob

blob

    Senior Member

  • 399 Beiträge

 

Geschrieben 23. Oktober 2009 - 12:26

Hallo!

Ich finde nichts bei Google. Vll kennt jmd hier einen tollen Link? Und zwar möchte ich mit meinem VBScript Excel aufrufen und Worksheets anlegen, Zellen formatieren etc etc etc

ich weiss zwar wie ich mir die Applikation hole (Set oExcel = CreateObject("Excel.application")), kenne aber die ganzen Befehle nicht wie z.B. oExcel.Workbooks.Add; im Internet finde ich natürlich vereinzelte Befehle aber ich hätte gerne sowas wie eine Refferenz dazu oder eine einfache Auflistung der VBS Excel Befehle mit kurzer Beschreibung.

Gruß
What goes around comes around!
+++
"Was sehen Sie auf Ihrem Bildschirm?" - "Ein Teddy den mir mein Freund geschenkt hat!"

#2 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 23. Oktober 2009 - 12:40

Hab zwar grad keine Referenz zur Hand, aber zumindest einen kleinen Tip hierzu:

In Excel den entspr. Vorgang als Makro aufzeichnen. Der Code passt zwar nicht 1:1 für VBS, aber mit kleinen Anpassungen funktionierts i.Allg. ;)
My name is Frank, you can say you to me.

#3 blob

blob

    Senior Member

  • 399 Beiträge

 

Geschrieben 23. Oktober 2009 - 12:43

Wäre natürlich die eine Möglichkeit, oder natürlich alle Befehle im einzelnen er-goggeln, was man gerade benötigt ;-) Aber das verdoppelt natürlich die Zeit bis zum fertigen Skript ums doppelte, was ich gerne verhinden möchte. :-(
What goes around comes around!
+++
"Was sehen Sie auf Ihrem Bildschirm?" - "Ein Teddy den mir mein Freund geschenkt hat!"

#4 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 23. Oktober 2009 - 14:20

Ansonsten wäre das vielleicht was?
http://www.microsoft...&displaylang=en
My name is Frank, you can say you to me.

#5 Sunny61

Sunny61

    Expert Member

  • 22.085 Beiträge

 

Geschrieben 24. Oktober 2009 - 18:43

Ich finde nichts bei Google. Vll kennt jmd hier einen tollen Link? Und zwar möchte ich mit meinem VBScript Excel aufrufen und Worksheets anlegen, Zellen formatieren etc etc etc


In Access ein Modul erstellen, in den Verweisen den Verweis auf EXCEL eintragen und loslegen. ;)
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#6 blob

blob

    Senior Member

  • 399 Beiträge

 

Geschrieben 26. Oktober 2009 - 08:13

Uff von Access habe ich leider keine Ahnung, um damit auch noch zu arbeiten :-(

Also muss ich wohl davon ausgehen das kein "HowTo" oder eine Reference für meinen Wunsch überhaupt existiert. Muss ich mir wohl ab Heute die Befehle "ergoggeln".
What goes around comes around!
+++
"Was sehen Sie auf Ihrem Bildschirm?" - "Ein Teddy den mir mein Freund geschenkt hat!"

#7 Zoni

Zoni

    Member

  • 182 Beiträge

 

Geschrieben 26. Oktober 2009 - 08:54

Moin,

also hier gibts schonmal eine Reihe Befehle im Code-Beispiel:How to automate Microsoft Excel from Visual Basic
Bereiche/Zellen auswählen:
How to select cells/ranges by using Visual Basic procedures in Excel
Und als Referenz ist der Link von Cybquest genau der Richtige,
würd ich mal sagen.
done: 70-270, 70-620, 70-680

#8 marka

marka

    Moderator

  • 5.201 Beiträge

 

Geschrieben 26. Oktober 2009 - 09:38

Um über ein VB-Script in Excel zu bearbeiten, kannst Du folgende Befehle verwenden:

'Excel Arbeitsmappe vorbereiten
Set objXL = CreateObject("Excel.Application")
objXL.Visible=True
objXL.Workbooks.Add
'Spaltenbreiten festlegen, Wert in Klammern: Nummer der Spalte
objXL.Columns(1).ColumnWidth =30
objXL.Columns(2).ColumnWidth =10
objXL.Columns(3).ColumnWidth =20
objXL.Columns(4).ColumnWidth =30
usw.
'Werte zuweisen, Werte in Klammern: erster Wert: Zeile, zweiter Wert: Spalte
objXL.Cells(1,1).Value="Erste Spaltenüberschrift"
objXL.Cells(1,2).Value="Zweite Spaltenüberschrift"
objXL.Cells(1,3).Value="Dritte Spaltenüberschrift"
objXL.Cells(1,4).Value="Vierte Spaltenüberschrift"
usw.
'Deklaration:erste Zeile Überschrift: Beginne mit zweiter Zeile
intIndex=2

Das kannst Du ja dann über For-Next-Scchleifen mit Skriptermittelten Werten füllen.

Viele Grüße von der Nordsee
Markus

 

In einem Forum ist es wie bei einem Fototermin - immer recht freundlich!
Kein Support per PN oder E-Mail, bitte im Forum posten, dann haben alle etwas davon ;)


#9 blob

blob

    Senior Member

  • 399 Beiträge

 

Geschrieben 26. Oktober 2009 - 14:44

Danke für die vielen Info's, ich arbeite das dann jetzt erstmal durch. Danke nochmal!
What goes around comes around!
+++
"Was sehen Sie auf Ihrem Bildschirm?" - "Ein Teddy den mir mein Freund geschenkt hat!"

#10 blob

blob

    Senior Member

  • 399 Beiträge

 

Geschrieben 27. Oktober 2009 - 16:35

So, bin nun ein Stück weiter, aber benötige doch jetzt gezielt ein wenig Hilfe:

Ich möchte vom aktiven Worksheet auf ein anderes wechseln. Wie müsste der Code aussehen? Meiner funktioniert nicht:

Set oExcel = CreateObject("Excel.application")
oExcel.Visible = True
oExcel.Workbooks.Add
oExcel.ActiveSheet.delete
oExcel.ActiveSheet.delete
oExcel.ActiveSheet.name = "Zusammenfassung"

oExcel.Worksheets.Add
oExcel.ActiveSheet.name = "Testblatt2"

'ab hier klappt es nicht, also das springen auf existierende Worksheets
oExcel.ActiveWorkbook.Sheets("Zusammenfassung")

dann möchte ich im aktiven Worksheet eine Zelle auswählen, und eine Formel hinterlegen. Mein folgender Code klappt auch noch nicht:
Set oSheet = oExcel.Cells(4, 4)
oSheet.formula = "=" & VariableMitTabellenblattNamen & "!" & "A3:A"& n & """"   'soll im Klartext heissen: "=Tabelle1!A3:A20"

Und zu guter Letzt: Wie formatiere ich eine Zelle, damit die Zelle weiss mein Inhalt ist eine Zahl? Habe es leider bis jetzt noch nicht gefunden :-(

*help*
What goes around comes around!
+++
"Was sehen Sie auf Ihrem Bildschirm?" - "Ein Teddy den mir mein Freund geschenkt hat!"

#11 blob

blob

    Senior Member

  • 399 Beiträge

 

Geschrieben 28. Oktober 2009 - 12:06

So, habe alles gefunden.

In ein anderes Worksheet wechseln und dort eine Zelle auswählen und formatieren, z.B. eine Formel hinterlegen:
Set oExcel = CreateObject("Excel.application")
Set oWB = oExcel.Workbooks.Add
Set oWS = oWB.Worksheets("Sheet40")

'x ist eine Variabel die z.B. durch eine Schleife hochgezählt wird
strTabelle = "Tabellenblatt01"

strFormel = "=" & strTabelle & "!" & "C3:C"& x

With oWS.range("D5")
	.formula = strFormel
	.font.Bold = True
End With


cu
What goes around comes around!
+++
"Was sehen Sie auf Ihrem Bildschirm?" - "Ein Teddy den mir mein Freund geschenkt hat!"

#12 P.Foeckeler

P.Foeckeler

    Junior Member

  • 117 Beiträge

 

Geschrieben 03. November 2009 - 10:23

Hallo,

schau mal, hier gibt's ein großes Beispielscript zur Excel-Fernsteuerung, du siehst unter anderem, wie du neue Sheets erstellen kannst oder auch Sorierung und Autofilter von VBScript aus benutzt:

CerroTorre Networking - FAQ - Excel-Dokumente erzeugen per VBScript

Gruß,
Philipp

#13 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 03. November 2009 - 15:06

evtl ist auch hier was dabei

http://www.microsoft...ps/archive.mspx

TechNet Script Center Gallery

Ein Kluger bemerkt alles, Ein Dummer macht über alles eine Bemerkung. (Heinrich Heine)