PERMISSION DENIED
Estou tentando criar um relatório em um arquivo PDF no meu sistema seguindo o tutorial do link:
http://www.vb6.us/tutorials/visual-basic-tutorial-pdf
(coloquei o pdf em anexo também)
Segui o tutorial, mas quando executo o Programa da o seguinte erro:
[txt-size=2][txt-color=#e80000]
[Ô] Run-timer error [ô]70[ô]:[/txt-size]
Permission denied [Ô][/txt-color]
Se clico em Debug o programa me mostra essa parte do código destacando a linha em negrito como local do erro (esse código foi extraÃdo do tutorial que mencionei acima) :
[txt-color=#0000f0]Private Function PDFScanRepAdobe(sPathBegin As String, iIndexFolder As Long) As Boolean
Dim Fso As Object
Dim oRep As Object
Dim oSubRep As Object
Dim oFolder As Object
Dim oFiles As Object
Set Fso = CreateObject([Ô]Scripting.FileSystemObject[Ô])
Set oRep = Fso.GetFolder(sPathBegin)
For Each oFolder In oRep.SubFolders
iIndexFolder = iIndexFolder + 1
If oFolder.Attributes <> 22 Then
For Each oFiles In oFolder.Files
If InStr(1, oFiles.Path, [Ô]AcroRd32.exe[Ô]) <> 0 Then
wsPathAdobe = oFiles.Path
bScanAdobe = True
Exit For
End If
Next oFiles
End If
If bScanAdobe = True Then Exit For
Next oFolder
For Each oSubRep In oRep.SubFolders
If bScanAdobe = True Then Exit For
PDFScanRepAdobe oSubRep.Path, iIndexFolder
Next oSubRep
Set Fso = Nothing
If bScanAdobe = True Then Exit Function
End Function[/txt-color]
Preciso muito gerar esses Relatórios em PDF, se alguém souber como resolver esse problema ou outro modo de criar PDF no VB vai me ajudar muitooo.
Desde de já agradeço a atenção
Att,
Verônica
pergunta seus relatórios possuem imagem ou apenas texto?
O que faço e resolve
CLIQUE EM INICIAR
PAINEL DE CONTROLE
EM CIMA CLIQUE PARA PESQUISAR
UAC
ALTERAR CONFIGURAÇÕES DE CONTROLE DE CONTA DE USUÃRIO
CLIQUE 1 VEZ EM CIMA DESSA OPÇÃO
em DEFINA QUANDO VOCE DEVERA SER NOTIFICADO.....................
DESÇA ATé O FINAL
nunca me notificar
Isso resolve em casos que o VB é executado em WINDOWS 7/8
Citação::
Colega o que deve estar acontecendo é que o arquivo está sendo executado e você tenta acessa-lo novamente o que dá permissão negada.
pergunta seus relatórios possuem imagem ou apenas texto?
Estou tentando criar o arquivo pdf apenas com texto inicialmente só pra fazer funcionar.
Citação::
Acontece isso comigo sempre no windows 7
O que faço e resolve
CLIQUE EM INICIAR
PAINEL DE CONTROLE
EM CIMA CLIQUE PARA PESQUISAR
UAC
ALTERAR CONFIGURAÇÕES DE CONTROLE DE CONTA DE USUÃRIO
CLIQUE 1 VEZ EM CIMA DESSA OPÇÃO
em DEFINA QUANDO VOCE DEVERA SER NOTIFICADO.....................
DESÇA ATé O FINAL
nunca me notificar
Isso resolve em casos que o VB é executado em WINDOWS 7/8
Isso não funcionou.
Maquinas que tenham atualização automatica, anulam o efeito do UAC, ou seja, quando atualiza as configurações de segurança, são habilitadas novamente
OU seja voce desce até o nivel inferior e atualização automatica, volta ao estado normal (causador do access denied)
No caso do erro de permission denied pode ser que você esteja tentando listar os arquivos de alguma pasta que o usuário não tem permissão para ler ou listar arquivos, no caso o que deveria ser feito é tratar o erro e passar para a próxima pasta.
Citação::
Se o programa funciona sem o UAC então existe uma grande chance de você estar fazendo o que não deve.
No caso do erro de permission denied pode ser que você esteja tentando listar os arquivos de alguma pasta que o usuário não tem permissão para ler ou listar arquivos, no caso o que deveria ser feito é tratar o erro e passar para a próxima pasta.
Olá
Como resolver esse problema? Pode ser isso mesmo, meu sistema fica localizado no C:\, mas estou na conta de administrador, esse erro pode ocorrer mesmo nesse caso?
For Each oFolder In oRep.SubFolders
iIndexFolder = iIndexFolder + 1
If oFolder.Attributes <> 22 Then
[ô]Ativa o tratamento de erros
On Error Goto PulaPasta
For Each oFiles In oFolder.Files
If InStr(1, oFiles.Path, [Ô]AcroRd32.exe[Ô]) <> 0 Then
wsPathAdobe = oFiles.Path
bScanAdobe = True
Exit For
End If
Next oFiles
[ô]Se der erro ao tentar ler os arquivos da pasta ele vai pular para este ponto, indo assim para a próxima pasta
PulaPasta:
End If
[ô]Desativa o tratamento de erros
On Error Goto 0
If bScanAdobe = True Then Exit For
Next oFolder
Lembrando que é só um trecho do código, você precisa colocar o resto, e como não testei não tenho certeza se está correto. é bom também você rodar ele passo a passo para ter certeza que está verificando os arquivos e pulando apenas as pastas que não consegue ler.