Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Programmpfad aus Registry auslesen

Forumthread: Programmpfad aus Registry auslesen

Programmpfad aus Registry auslesen
03.10.2002 21:59:56
peter huff
Ich möchte anhand einer Dateiendung (z.B. pdf/xls)
den exakten Programmpfad (z.B. c:\programme\arobat\Adobe 5.0\Acrobat\acrobat.exe) auslesen.
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Programmpfad aus Registry auslesen
03.10.2002 23:15:19
PeterW
Hallo Peter,

bist Du sicher, dass es sich hier um eine Frage zu Excel handelt? Wenn ja solltest Du das Problem etwas anschaulicher formulieren.

Gruß
Peter

Re: Programmpfad aus Registry auslesen
04.10.2002 07:45:47
peter huff
es handelt sich natürlich um ein Excel Problem:
ich rufe mit einem Doppelklick eine Datei auf. Allerdings
wird das VBA Makro auf unterschiedlichen Rechnern aus-
geführt. Somit wird der fest einegebene Programmpfad
nicht gefunden. Die einzige Lösung die hier in Frage
käme, wäre das Auslesen der Registry Einträge (Variable pfad).

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)

On Error Resume Next
Dim inhalt As Worksheet

Dim appl As String
Dim endung As String
Dim pfad As String
Dim prog As String
Dim rs
Set inhalt = Worksheets("Gesamtübersicht")


Cancel = True
appl = Trim(ActiveCell.Value)
endung = Right(appl, 3)


If ActiveCell.Column = 6 Then

If inhalt.Cells(1, 3) = 1 Then
pfad = "f:\vorlagen.97\zkb-fs\"
ElseIf inhalt.Cells(1, 3) = 2 Then
pfad = "c:\vorlagen.97\zkb-fs\"
ElseIf inhalt.Cells(1, 3) = 3 Then
pfad = "r:\vorlagen.97\zkb-fs\"
End If


If endung = "dot" Then
Set WoObj = CreateObject("Word.Application")
WoObj.Visible = True

WoObj.Documents.Add Template:=pfad & appl, NewTemplate:=False

ElseIf endung = "doc" Then
Set WoObj = CreateObject("Word.Application")
WoObj.Visible = True

WoObj.Documents.Open pfad & appl


ElseIf endung = "xls" Then
Set ExObj = CreateObject("Excel.Application")
ExObj.Visible = True

ExObj.Workbooks.Open (pfad & appl)

ElseIf endung = "xlt" Then
Set ExObj = CreateObject("Excel.Application")
ExObj.Visible = True

ExObj.Workbooks.Open (pfad & appl)


ElseIf endung = "ppt" Then

Set ppObj = CreateObject("PowerPoint.Application")

ppObj.Visible = True

ppObj.Presentations.Open (pfad & appl)


ElseIf endung = "pdf" Then

With Application.FileSearch
.LookIn = "C:\Programme"
.SearchSubFolders = True
.Filename = "acro*.exe"
If .Execute() > 0 Then
rs = Shell(.FoundFiles(1) & " " & pfad & appl, 1)
Else
MsgBox (.Filename & " konnte nicht gefunden werden!")
End If
End With

ElseIf endung = "pdb" Then

With Application.FileSearch
.LookIn = "C:\Prog"
.SearchSubFolders = True
.Filename = "project.exe"
If .Execute() > 0 Then

rs = Shell(.FoundFiles(1) & " " & pfad & appl, 1)
Else
MsgBox (.Filename & " konnte nicht gefunden werden!")
End If
End With


ElseIf endung = "jpg" Then
With Application.FileSearch
.LookIn = "C:\Programme"
.SearchSubFolders = True
.Filename = "psp.exe"
If .Execute() > 0 Then
rs = Shell(.FoundFiles(1) & " " & pfad & appl, 1)
Else
MsgBox (.Filename & " konnte nicht gefunden werden!")
End If
End With



Else
MsgBox ("Kann die Datei " & appl & " nicht aufrufen!")


End If

End If


End Sub




Anzeige
Re: Programmpfad aus Registry auslesen
04.10.2002 08:02:31
peter huff
Achtung : es handelt sich hierbei natürlich
um die Variable prog
Re: Programmpfad aus Registry auslesen
04.10.2002 09:25:16
Hans W. Hofmann
MS gibt den Windosen ein kleines Progrämmle Shelexec.exe bei. Mit dem ruft man einfach die entsprechende Datei auf und shelexec kümmert sich um die Porgrammzuodnung anhand der Registry-Verknüpfung.
Ach übrigens, danke, dass Du nicht den gesammten Source-Code Deiner Anwendung gepostet hast ;-)

Gruß HW

Anzeige
Bei mir (W98) gibts dieses
04.10.2002 16:23:23
Ralf Sögel
Programm nicht(auch nicht so ähnlich).Wird das standardmäßig nicht mitinstalliert?
Re: Bei mir (W98) gibts dieses
04.10.2002 16:37:43
Hans W. Hofmann
Hmm, bei mir isses vorhanden. Kann sein, dass das auf irgend einer Setup CD mit drauf war..
Wenns't mogst kann ich Dir das Teil zu kommen lassen...

Gruß HW

;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige