Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
nuelss

Variavel No Vb ...

Recommended Posts

B) Senhores,

Como eu faco para acessar um programa que esta dentro de um CD...

deixa eu explicar melhor :

O meu .exe da apresentacao tambem esta no cd, e nele tem um botao que acessa um outro aplicativo, em outro diretorio, tambem no CD.

Usei a rotina:

Private Sub Img1402_Click()

Dim X As Long

X = Shell("(AppPath)\Programa1.exe", 1)

End Sub

porém, no computador deu certo porque a unidade c é fixa, então eu colocava AppPath como sendo o caminho normal c:\xxx\eee\etc;

Já no CD, ora ele é unidade D, ora é unidade E, ora é F, etc ...

Como faco para acessar o programa1 sempre, independente da unidade em que ele se encontra ???

OBS: mudei a variavel AppPath para d:\xxx\yyy\etc, porque o meu drive de CD Rom é D:, era para dar certo assim como dá no C:, mas tambem não deu.

:help: ALGUEM PODE ME AJUDAR A ACESSAR OS PROGRAMAS NA UNIDADE "X" ???

X= A:\, B:\, C:\, D:\, E:\, F:\, ..., Z:\ !!!

Abraço,

Emanuel

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei se entendi bem, mas se você usar app.path isso retornara o caminho do qual esta o .exe q você esta executando. intao idependente da unidade que esta o cd-rom ele vai retornar o caminho certo...

por ex.:


shell app.path & "\programa.exe"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para saber qual a letra da unidade de CD-ROM, use a rotina abaixo:

Postado Originalmente por Rotina para identificar letra da unidade de CD-ROM

Private Function LetraUnidadeCDROM() As String

    Dim FSO As Object, Unidade As Object, Unidades As Object

    Const CDRom = 4

   

    Set FSO = CreateObject("Scripting.FileSystemObject")

    Set Unidades = FSO.Drives

   

    For Each Unidade In Unidades

        If Unidade.DriveType = CDRom Then LetraUnidadeCDROM = Unidade.DriveLetter: Exit For

    Next

   

    Set FSO = Nothing

    Set Unidade = Nothing

    Set Unidades = Nothing

   

End Function

Com essa rotina, você pode colocar algo assim:

<div class='quotetop'>QUOTE(Exemplo de uso da rotina "LetraUnidadeCDROM")</div>

Dim Executar As Integer

Executar = Shell(LetraUnidadeCDROM & ":\NomeDaPasta\NomeDaSubPasta\NomeDoPrograma.exe", vbNormalFocus)

Porém, se na máquina onde a rotina for ser executada houver mais de uma unidade de CD-Rom e o CD for colocado na segunda unidade, o programa também não ser localizado.

Então, você vai ter que aperfeiçoar a rotina, para ver quantas unidades deste tipo existem, e procurar em qual das unidades está o programa que você quer executar.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×