Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA Öffnen beliebiger Anwendungen

Frage Entwicklung

Mitglied: thill0r

thill0r (Level 1) - Jetzt verbinden

12.04.2010 um 06:08 Uhr, 12107 Aufrufe, 10 Kommentare

Hi,

wäre nett wenn mir jemand helfen könnte.

Hallo,

und zwar möchte ich ein beliebiges Programm starten , dieses soll eine Exceldatei starten (es ist nicht Excel)und nach 10 Sekunden automatisch als .csv abgespeichert werden.
Nach weiteren 10 Sekunden soll das Programm geschlossen werden (ohne Speicherndialog).

Der Code unten bezieht sich rein auf Excel und dies klappt wunderbar.
Meine Frage ist , wie man eine beliebige Anwendung unter dem gleichen o.g Prozedere starten kann.

Es wäre nett wenn mir jemand Anregungen , Hilfe geben könnte.

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("d:\testt\test.xls")
objExcel.Visible = true
objWorkbook.RefreshAll //refreshed das Dokument
wscript.sleep 10000
objExcel.Application.DisplayAlerts = False
objWorkbook.SaveAs ("d:\test\test.csv")
objExcel.Application.DisplayAlerts = True
wscript.sleep 10000
objExcel.Quit

Vielen Dank im voraus und eine schöne Woche!

Mit freundlichen Grüßen

thill0r
Mitglied: Tommy70
12.04.2010 um 08:05 Uhr
Hallo,

01.
set shell = CreateObject("WScript.Shell") 
02.
shell.run "BeliebigesProgramm.exe",3
Bitte warten ..
Mitglied: thill0r
12.04.2010 um 08:13 Uhr
Hi
habe dies jetzt versucht oben einzubauen , dies klappt aber nicht.
Auch wenn ich nur die beiden o.g Zeilen ausführe funktioniert dies nicht.
Habe ich etwas falsch gemacht?
Wie muss ich dies einbauen , damit eine Exceldatei geöffnet wird (diese wird aber nicht mit excel geöffnet) ?
Danke für Hilfe
Bitte warten ..
Mitglied: Tommy70
12.04.2010 um 08:24 Uhr
Mit den Infos die du gibst, kann man dir nicht wirklich mehr helfen.
Du verätst uns weder, ob du das Programm aus einem normalen Vbs Script oder aus einer Anwendung (welche?) mit Vba starten willst.
Noch können wir wissen welches Programm du starten willst. Wir wissen nur, dass es nicht Excel ist
Auch könntest du mal den Code posten der bei dir anscheinend nicht funktioniert...
Bitte warten ..
Mitglied: thill0r
12.04.2010 um 08:51 Uhr
Also

ich möchte ein Programm starten (leider weis ich jetzt den Namen nicht , ist aber glaube auch egal ;) )
Dieses Programm ist ähnlich wie Excel , liest somit auch xls und xlsx Dateien.
Das Programm soll mittels VBA geöffnet und eine Exceldatei geöffnet werden.
Diese Exceldatei soll nach z.b 10 Sekunden als .csv gespeichert werden.
Nach dem Speichern soll das Programm automatisch wieder geschlossen werden.
Sollte die Datei schon vorhanden sein , soll diese automatisch überspeichert werden.

Dieser Code bezieht sich rein auf Excel , wie man an der Funktion sehen kann.

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("d:\testt\test.xls")
objExcel.Visible = true
objWorkbook.RefreshAll //refreshed das Dokument
wscript.sleep 10000
objExcel.Application.DisplayAlerts = False
objWorkbook.SaveAs ("d:\test\test.csv")
objExcel.Application.DisplayAlerts = True
wscript.sleep 10000
objExcel.Quit

Dieser Code funktioniert einwandfrei , nun ist meine Frage wie ich den Code umschreiben muss damit das gleiche mit einer anderen Anwendung funktioniert.

Danke
Bitte warten ..
Mitglied: Tommy70
12.04.2010 um 08:58 Uhr
Hallo,

welches Programm es ist ist eben nicht egal. (Befehlszeilenparameter usw.)
Willst du in diesem Programm mit VBA die Excel-Datei öffnen oder willst du mit einem VBS-Script das Programm mit der zu öffnenden Excel-Datei als Parameter starten?
Bitte warten ..
Mitglied: thill0r
12.04.2010 um 09:02 Uhr
Hi
Ok das sage ich dir noch im laufe des Tages.(wie dsa Programm heißt)
Also ich möchte das Programm mit der zu öffnenden Excel-Datei als Parameter starten!
Quasi Programm + Datei.
Bitte warten ..
Mitglied: Tommy70
12.04.2010 um 09:14 Uhr
Dann muss sich das Programm aber so starten lassen falls es den Aufruf der Datei als Befehlszeilenparameter unterstützt.

01.
set shell = CreateObject("WScript.Shell") 
02.
shell.run "GanzerPfadzurExe\BeliebigesProgramm.exe " & "GanzerPfadzurExcelDatei\DeineEcelFile.xls",1
Ob das Speichern als CSV möglich ist hängt vom Programm ab.

Das warten im Script kannst du mit
01.
wscript.sleep 10000
lösen.
Bitte warten ..
Mitglied: thill0r
12.04.2010 um 09:23 Uhr
also habe dies jetzt mal probiert:

set shell = CreateObject("WScript.Shell")
shell.run "C:\Program Files\Microsoft Office\Office12\excel.exe " & "D:\test\test.xls",1

wenn ich dies ausführe , erhalte ich ein Kompilierungsfehler.
Ich glaub ich bin dumm ;)
Bitte warten ..
Mitglied: Tommy70
12.04.2010 um 09:44 Uhr
Da du einen langen Pfad mit Leerzeichen hast musst du noch zusättliche Anführungszeichen setzten.

01.
shell.run Chr(34) & "C:\Program Files\Microsoft Office\Office12\excel.exe " & Chr(34)  & "D:\test\test.xls",1
Bitte warten ..
Mitglied: thill0r
13.04.2010 um 09:58 Uhr
klappt auch nicht.. naja ich glaub ich bin zu doof und mir fehlen grundlagen ;)
danke trotzdem!!!!
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...