Hej CD :n har också en bokstav,hos mig tex har den G: Ligger programmer i samma mapp som pps-filen (på cd-skivan alltså)? I sådana fall kan du använda App.Path. Hej Sven ! Hej Johan ! Då kan du göra så här Se [Api GetDriveType] Hej Sven Left(App.Path, 1) ger t.ex. "D", "E" eller någon annan bokstav där programmet körs ifrån. Jag skulle avrekommendera dig ifrån svenpons lösning då den endast fungerar då man har en enda cd/dvd/emulator installerad. Ok om det är så,då får man lägga upp en ListBox där alla 5 :or redovisas och sedan välja från denna. Efter Onkelborgs påpekande kan det vara lämpligt att modifiera koden enl. nedan Hej Sven o Onkelborg. Vad var det som gick fel.Om aktuell CD sitter på första CD plats borde det ha funkat. Hej Sven Kollar just nu och kollar allting, Om jag "slarvat själv" visar sig. Det vore bra om du körde [Api GetDriveType] och berättar vad som händer. Hej Sven Du refererar till mitt modifierade förslag. ? Men det är ingen bra lösning. Det är bättre att kolla Dir$ \Fibrer. Om den mappen finns Ska testa. Tar helgledigt nu för min del. Ska bort Vi avslutar där. Tror också det funkar.. Justerad kod Exit Sub har tagits bort Ser en optimering till i ditt fall ,din första CD kan börja på D:<code> Hej SvenStarta program (powerpointviewer) från cd-skiva
Håller på att snickra med ett kul program som ska ligga på en cd-skiva med autorun funktion. Hur lägger jag in koden för att starta ex. powerpointwiever.
Om jag installerar programmet på datorn sökväg C.\ etc ser det ut så här:
Private Sub Command13_Click()
Dim ret As Long
'här skall det så rätt sökväg till viewern mellanslag filen du vill visa
ret = Shell("C:\Fibrer\Start.EXE Fibrer.pps", vbNormalFocus)
End Sub
Vilket funkar utmärkt !
Men nu gällde det ju en cd-skiva i cd-spelaren. Hur blir sökvägen kodmässigt??
Tack på förhand
KennethSv: Starta program (powerpointviewer) från cd-skiva
då skulle det bli .
<code>
Dim ret As Long
'här skall det så rätt sökväg till viewern mellanslag filen du vill visa
ret = Shell("G:\Fibrer\Start.EXE Fibrer.pps", vbNormalFocus)
End Sub
</code>
Eller funkar inte detta ?Sv: Starta program (powerpointviewer) från cd-skiva
Men varför öppnar du inte presentationen direkt i autorun-filen?
/JohanSv: Starta program (powerpointviewer) från cd-skiva
Ska skicka CD:n till bekanta. Där är det inte givet att G:\ är CD-spelaren.
MvhSv: Starta program (powerpointviewer) från cd-skiva
pps.filen ligger i samma mapp, men öppnas via programmets startsida exe.filen. Det är exe. filen som har autorunfunktionen.
Om det ska vara App.Path Kan du vara snäll visa koden. Är ngt ringrostig sedan uppehåll på ett år.
Tack på förhand.
Jo en sak till....Passar på....
Vill helst kunna skicka mail alltså e-post via klienten Outlook express från programmet. Stöter det på ngt problem kodmässigt alltså.. ??
TackSv: Starta program (powerpointviewer) från cd-skiva
<code>Option Explicit
Private Declare Function GetDriveType Lib "kernel32" _
Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Sub Command1_Click()
'En CommandButton Test
'2 = Floppy 3 = HD 5 = CD/DVD
Dim i As Long, ret As Long
For i = 65 To 90 ' A - Z
ret = GetDriveType(Chr$(i) & ":\")
If ret <> 1 Then
If ret = 5 Then Exit For
End If
Next 'i
ret = Shell(Chr$(i) & ":\" & "Fibrer\Start.EXE Fibrer.pps", vbNormalFocus)
End Sub
</code>Sv: Starta program (powerpointviewer) från cd-skiva
Koden ser bra ut. Ska bränna en CD-skiva under kvällen och kolla funktionaliteten.
Återkommer och filar om det behövs.
Tack så meget
Mvh
KennethSv: Starta program (powerpointviewer) från cd-skiva
Sv: Starta program (powerpointviewer) från cd-skiva
Se [Api GetDriveType]
Iofs så tror jag att han starta ett program på HD :n App.Path och denna i sin tur kör Shell på CD:n
Då duger inte din lösning.
Autostart är nog ine bra han vill förmodligen i ett visst skede av sitt prog gå över till CD:n för visning.
Spånar Sven som vanligt. Vi får snart besked.Sv: Starta program (powerpointviewer) från cd-skiva
<code>
'En Listbox Visible = False
Option Explicit
Private Declare Function GetDriveType Lib "kernel32" _
Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Sub Command1_Click()
'En CommandButton Test
'2 = Floppy 3 = HD 5 = CD/DVD
Dim i As Long, ret As Long,drv As String
For i = 65 To 90 ' A - Z
ret = GetDriveType(Chr$(i) & ":\")
If ret <> 1 Then
If ret = 5 Then List1.AddItem Chr$(i) & ":\" & " CD/DVD"
End If
Next 'i
If List1.ListCount = 1 Then 'det finns bara en CD/DVD
drv = Left$(List1.List(0),3)
ret = Shell(drv & "Fibrer\Start.EXE Fibrer.pps", vbNormalFocus)
Else
List1.Visible = True
drv = Left$(List1.Text,3) 'Användaren klickade på ett val
ret = Shell(drv & "Fibrer\Start.EXE Fibrer.pps", vbNormalFocus)
End If
End Sub
</code>Sv: Starta program (powerpointviewer) från cd-skiva
Bra att Du modifierade koden Sven, ska även beakta Onkelborgs inlägg. Behöver testa nytt om då Svens föregående failade.
Återkommer
Mvh KennethSv: Starta program (powerpointviewer) från cd-skiva
För att göra det mer proffsigt bör man kolla varje gång 5 hittas så kollar man med Dir$ funktionen
om Mappen \Fibrer finns där. Om den hittas kör man Shell där.Sv: Starta program (powerpointviewer) från cd-skiva
Återkommer strax
Mvh
KennethSv: Starta program (powerpointviewer) från cd-skiva
Sv: Starta program (powerpointviewer) från cd-skiva
Varför ska en "dold" Listbox finnas med ???
Mvh
KennethSv: Starta program (powerpointviewer) från cd-skiva
Som du ser gör jag den Visible = True om det finns mer än en CD/DVD
Finns det bara 1 så behöver du inte använda ListBoxen.Sv: Starta program (powerpointviewer) från cd-skiva
i den 5:a som hittas så kör man Shell i den.Sv: Starta program (powerpointviewer) från cd-skiva
Tack så hjärtligt Sven
Ha en trevlig helg..Sv: Starta program (powerpointviewer) från cd-skiva
<code>
Option Explicit
Private Declare Function GetDriveType Lib "kernel32" _
Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Sub Command1_Click()
'En CommandButton Test
'5 = CD/DVD
Dim i As Long, ret As Long,shellOk As Long, drv As String
For i = 65 To 90 ' A - Z
ret = GetDriveType(Chr$(i) & ":\")
If ret = 5 Then
drv = Chr$(i) & ":\"
'Om Fibrer\Start.exe hittas kommer det att startas
On Error Resume Next
If Dir$(drv & "Fibrer\Start.exe") <> "" Then
shellOk = Shell(drv & "Fibrer\Start.exe Fibrer.pps", vbNormalFocus)
DoEvents
End If
End If
Next 'i
If shellOk <= 0 Then MsgBox "Hittade inte CD program"
End Sub
</code>Sv: Starta program (powerpointviewer) från cd-skiva
For i = 68 To 90 ' D - Z
</code>Sv: Starta program (powerpointviewer) från cd-skiva
Juste engagemang i frågan.
Mvh
Kenneth