ABRIR ARQUIVO NO VISUAL BASIC 6.0

CLEBIO 22/09/2012 15:36:06
#410246
Senhores,

Estou usando as seguintes ferramentas, DriveListBox, DirListBox e FileListBox.
Consigo selecionar a unidade no drivelistbox, consigo selecionar a pasta no dirlistbox. Ao fazer isto aparece o conteúdo da pasta no filelistbox.

Gostaria de Saber como faço para selecionar um terminado arquivo no filelistbox e abri-lo de acordo com a sua extensão, ou seja, se o documento for do word abrir o word se for documento excel abrir no excel e se o documento for pdf abrir com no pdf.

Desde já agradeço a atenção e peço desculpa por estar solicitando tanto ajuda, pois sou novo na função e estou cheio de dúvidas.

Ats, Clebio
FILMAN 22/09/2012 20:45:00
#410251
Primeiro você tem que obter o caminho do arquivo completo

Ex:
No seu DirListBox selecione a pasta que esta o arquivo
No seu FileListBox selecione o arquivo deseja abrir

ai você pode criar uma variável para armazenar o caminho
Dim caminho As String

caminho = DirListBox.Path & FileListBox.FileName


Agora abriremos o arquivo com o SHELL
Shell caminho, vbNormalFocus


Esse método acima é para abrir o arquivo com o software padrao que esta no instalado no windows

Agora dessa maneira abaixo você abre com o software que quiser desde que seja compativel com o arquivo
Shell [Ô]excel.exe [Ô] & caminho, vbNormalFocus




Espero ter ajudado

qualquer coisa posta ai
CLEBIO 23/09/2012 19:38:00
#410296
Esta dando erro na expressão [Ô]Shell caminho, vbNormalFocus[Ô]

Ats, Clebio
RODRIGOFERRO 23/09/2012 20:48:15
#410298
esse caminho que ele fala, voce esta substituindo pelo caminho do arquivo ?

posta ai como voce esta fazendo na integra !
CLEBIO 24/09/2012 13:05:20
#410351
Estou fazendo da seguinte forma:

Dim Caminho As String

Caminho = Dir1.Path & File1.FileName

Shell Caminho, vbNormalFocus

Pergunto: Não seria necessário colocar alguma função referente ao Shell?
GANDA.NICK 25/09/2012 07:42:13
#410405
Resposta escolhida
Beleza

Experimente usar a API ShellExecute[txt-color=#e80000] [/txt-color]

Private Declare Function ShellExecute Lib [Ô]shell32.dll[Ô] Alias [Ô]ShellExecuteA[Ô] _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_HIDE = 0
Const SW_SHOWNORMAL = 1
Const SW_NORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3
Const SW_MAXIMIZE = 3
Const SW_SHOWNOACTIVATE = 4
Const SW_SHOW = 5
Const SW_MINIMIZE = 6
Const SW_SHOWMINNOACTIVE = 7
Const SW_SHOWNA = 8
Const SW_RESTORE = 9
Const SW_SHOWDEFAULT = 10
Const SW_MAX = 10

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub


Private Sub Command1_Click()
Dim Caminho As String
Caminho = Dir1.Path & [Ô]\[Ô] & File1.FileName
MsgBox Caminho
ShellExecute 0&, vbNullString, Caminho, vbNullString, vbNullString, SW_SHOWDEFAULT
End Sub




Boa Sorte, té +
ALEVALE 25/09/2012 10:25:55
#410431
Bom como sugestão se o projeto for novo por que não começa a fazer em NET ?
Olha a sintaxe abaix para o mesmo comando.

Dim myProcess As Process = Process.Start([Ô]cmd.exe[Ô])

Parece bem menor e mais viavel neh ! ?
CLEBIO 26/09/2012 09:12:50
#410508
Funciona perfeitamente, lhe agradeço muito por sua atenção e conhecimento.

Você é o Cara.

Um Abraço

Clebio
ALEVALE 26/09/2012 09:42:43
#410513
Favor fechar o topico, caso já tenha solucionado.
Tópico encerrado , respostas não são mais permitidas