ABRIR DOC SEM CAMINHO
Ola pessoal eu to com uma duvida aqui que nao sei como resolver.
Eu fiz um programa que vou gravar num cd e vai poder rodar aparitir dele mesmo, sem ter que baixar, é seguinte:
Ele tem tres botoes
Abrir Tutorial
Abrir Planilha Excel
Abrir Planilha Resultado da Lição
Até ai tudo bem, este .exe, nao vai estar nas mesmas pastas dos docs em questão, o Doc tutorial vai estar numa pasta chamada modulo, assim como as outras planilhas em excel.
MAs como fazer pra apertar este botao, ele abrir o .doc, ou o .exl que está em outra pasta, mesmo que seja dentro do mesmo cd?
Porque veja: se eu tento abrir este tutorial.doc, usando o caminho dele, tipo assim
D:pasta1/Tutorial.doc
E o drive de cd do cliente nao for o D: , mas Sim o F: , ou o G: como o de muitos são.... o programa nunca vai achar a unidade e por isto a pasta e muito menos o doc..
Alguem sabe resolver esta questão?
Pois gostaria de abrir estes documentos apartir do cd, mas nao sei como abri-los só usando o nome... me deram alguasm ideias do tipo:
Private Sub cmdTurorial_Click()
ChDir App.Path [ô]muda o dir para o dir do programa
[ô]se o doc estiver na mesma pasta
Shell App.Path & [Ô]MIx Devocional.doc[Ô]
[ô]se o doc estiver em qualquer pasta
[ô]Shell App.Path & [Ô]\MIx Devocional.doc[Ô]
[ô]deve funcionar
End Sub
e num modulo
Option Explicit
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
mas nada funciona, eu nao estou testando estes codigos a partir de um cd ainda, mas nem mesmo no desktop ele consegue achar um doc em outa pasta.
Por favor me deem alguams dicas, valewwwww
Eu fiz um programa que vou gravar num cd e vai poder rodar aparitir dele mesmo, sem ter que baixar, é seguinte:
Ele tem tres botoes
Abrir Tutorial
Abrir Planilha Excel
Abrir Planilha Resultado da Lição
Até ai tudo bem, este .exe, nao vai estar nas mesmas pastas dos docs em questão, o Doc tutorial vai estar numa pasta chamada modulo, assim como as outras planilhas em excel.
MAs como fazer pra apertar este botao, ele abrir o .doc, ou o .exl que está em outra pasta, mesmo que seja dentro do mesmo cd?
Porque veja: se eu tento abrir este tutorial.doc, usando o caminho dele, tipo assim
D:pasta1/Tutorial.doc
E o drive de cd do cliente nao for o D: , mas Sim o F: , ou o G: como o de muitos são.... o programa nunca vai achar a unidade e por isto a pasta e muito menos o doc..
Alguem sabe resolver esta questão?
Pois gostaria de abrir estes documentos apartir do cd, mas nao sei como abri-los só usando o nome... me deram alguasm ideias do tipo:
Private Sub cmdTurorial_Click()
ChDir App.Path [ô]muda o dir para o dir do programa
[ô]se o doc estiver na mesma pasta
Shell App.Path & [Ô]MIx Devocional.doc[Ô]
[ô]se o doc estiver em qualquer pasta
[ô]Shell App.Path & [Ô]\MIx Devocional.doc[Ô]
[ô]deve funcionar
End Sub
e num modulo
Option Explicit
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
mas nada funciona, eu nao estou testando estes codigos a partir de um cd ainda, mas nem mesmo no desktop ele consegue achar um doc em outa pasta.
Por favor me deem alguams dicas, valewwwww
colega é simples
ao invés de colocar a letra da unidade vc usa o
App.Path, pega a unidade onde está o executavel
ou seja não coloque a unidade e sim App.Path &
então reforçà o chamar o arquivo
errado:
D:\pasta\arquivo.doc
certo:
App.Path & [Ô]\pasta\arquivo.doc[Ô]
Ok
ao invés de colocar a letra da unidade vc usa o
App.Path & [Ô]
ome da pasta
ome do arquivo.doc[Ô]
App.Path, pega a unidade onde está o executavel
ou seja não coloque a unidade e sim App.Path &
então reforçà o chamar o arquivo
errado:
D:\pasta\arquivo.doc
certo:
App.Path & [Ô]\pasta\arquivo.doc[Ô]
Ok
Ow boa tarde marcelo, veja bem da erro
Expected: Expresion
no &
Eu coloco o
Shell [ô]Shell App.Path & [Ô]\pasta\arquivo.doc[Ô]
e da erro
Expected: Expresion
no &
Eu coloco o
Shell [ô]Shell App.Path & [Ô]\pasta\arquivo.doc[Ô]
e da erro
Alias eu fiz assim e abriu, achei nuns projetos perdidos meus, veja só
Option Explicit
Dim wrdApp As Word.Application
Dim wrdAppF As Word.Application
Dim wrdSelection As Word.Selection
Private Sub cmdTurorial_Click()
Dim ObjWord As New Word.Application
Me.MousePointer = 11
ObjWord.Visible = True
[ô] If MsgBox([Ô]Deseja abrir este tutorial?[Ô], vbQuestion + vbYesNo) = vbYes Then
ObjWord.Documents.Open ([Ô]C:\Documents and Settings\Augusto Andrade\Desktop\Programa de Teste Caminho\Caminho do Doc.doc[Ô])
ObjWord.ActiveDocument.Save
[ô] ObjWord.Quit
Set ObjWord = Nothing
Me.MousePointer = 0
[ô] End If
End Sub
Mas ele ainda usa o caminho, como fazer pra nao usar?
Option Explicit
Dim wrdApp As Word.Application
Dim wrdAppF As Word.Application
Dim wrdSelection As Word.Selection
Private Sub cmdTurorial_Click()
Dim ObjWord As New Word.Application
Me.MousePointer = 11
ObjWord.Visible = True
[ô] If MsgBox([Ô]Deseja abrir este tutorial?[Ô], vbQuestion + vbYesNo) = vbYes Then
ObjWord.Documents.Open ([Ô]C:\Documents and Settings\Augusto Andrade\Desktop\Programa de Teste Caminho\Caminho do Doc.doc[Ô])
ObjWord.ActiveDocument.Save
[ô] ObjWord.Quit
Set ObjWord = Nothing
Me.MousePointer = 0
[ô] End If
End Sub
Mas ele ainda usa o caminho, como fazer pra nao usar?
é assim
ObjWord.Documents.Open (App.Path & [Ô]\Programa de Teste Caminho\Caminho do Doc.doc[Ô])
Vou tentar explicar o melhor
veja bem suponha que vc tenha criado uma pasta chamada [ô]PROGRAMA[ô] dentro da pasta [ô]MEUS DOCUMENTOS[ô], dentro desta pasta você vai por seu projeto e uma outra pasta chamada [ô]DOCUMENTOS[ô] então o caminho para seu projeto seria:
C:\Documents and Settings\Administrador\Meus documentos\Programa\Project1.vbp
usando App.Path
App.Path & [Ô]\Project.vbp[Ô]
agora o caminho documento
C:\Documents and Settings\Administrador\Meus documentos\Programa\Documentos este.doc
usando app.path
App.Path & [Ô]\Documentos este.doc[Ô]
entedeu agora
veja bem suponha que vc tenha criado uma pasta chamada [ô]PROGRAMA[ô] dentro da pasta [ô]MEUS DOCUMENTOS[ô], dentro desta pasta você vai por seu projeto e uma outra pasta chamada [ô]DOCUMENTOS[ô] então o caminho para seu projeto seria:
C:\Documents and Settings\Administrador\Meus documentos\Programa\Project1.vbp
usando App.Path
App.Path & [Ô]\Project.vbp[Ô]
agora o caminho documento
C:\Documents and Settings\Administrador\Meus documentos\Programa\Documentos este.doc
usando app.path
App.Path & [Ô]\Documentos este.doc[Ô]
entedeu agora
Opa Bom dia Marcelo
Eu entendi o Path ele resumeria isto: ([Ô]C:\Documents and Settings\Augusto Andrade\Desktop\...
Nao é?
Eu teria que colocar somente a pasta e o nome do documento que esta na pasta rpa ser aberto...
Eu fiz desta forma agora:
ObjWord.Documents.Open (App.Path & [Ô]\Programa de Teste Caminho\Caminho do Doc.doc[Ô])
O documento esta junto da pasta projeto, do jeito que esta ai... Mas da err:
[Ô]O nome do documento ou caminho nao é valido[Ô]
Eu entendi o Path ele resumeria isto: ([Ô]C:\Documents and Settings\Augusto Andrade\Desktop\...
Nao é?
Eu teria que colocar somente a pasta e o nome do documento que esta na pasta rpa ser aberto...
Eu fiz desta forma agora:
ObjWord.Documents.Open (App.Path & [Ô]\Programa de Teste Caminho\Caminho do Doc.doc[Ô])
O documento esta junto da pasta projeto, do jeito que esta ai... Mas da err:
[Ô]O nome do documento ou caminho nao é valido[Ô]
O exemplo abaixo está usando a mesma API que mencionou (ShellExecute).
LISTAR ARQUIVOS DE DIRETORIO
LISTAR ARQUIVOS DE DIRETORIO
tenta iencurtar desta forma
isso se o arquivo doc estiver dentro da mesma para do executavel
ObjWord.Documents.Open (App.Path & [Ô]\Caminho do Doc.doc[Ô])
isso se o arquivo doc estiver dentro da mesma para do executavel
TECLA
Muito bom exemplo, mas o pior é que tem varias pastas com documentos, mas muito bom cara, muito obrigado.
Muito bom exemplo, mas o pior é que tem varias pastas com documentos, mas muito bom cara, muito obrigado.
valew Marcelo, acho que é isto mesmo cara! Obrigado pela paciencia neste topico, to a mais de um ano parado to tentando invetar o roda de novo, obrigado a todos
Tópico encerrado , respostas não são mais permitidas