Discussione:
Errore di runtime 70 - Autorizzazione negata
(troppo vecchio per rispondere)
gAbbonizio
2008-05-10 09:36:00 UTC
Permalink
Excel2007 - VBA
Ho un programma simile all'esplora risorse che mi permette su un form di
selezionare i vari device e quindi le directory e sub con l'elenco dei file
per la loro selezione. Il programma l'ho sviluppato sotto Windows XP -
Excel2000.
Ora l'ho installato su un altro pc con Windows Vista Home Basic - Excel 2007
e mi da il seguente problema:
mi elenca le directory del disco che seleziono, mi apre la dir Utenti
se tento di aprire la subdir dell'utente mi da Errore di Runtime 70 -
Autorizzazione negata.
se apro la subdir Pubblica va bene, ma quando seleziono la successiva
subdir mi da anche lì lo stesso errore.
Problema di autorizzazioni?
Grazie e Ciao
Maurizio Borrelli
2008-05-10 09:46:41 UTC
Permalink
Post by gAbbonizio
Excel2007 - VBA
Ho un programma simile all'esplora risorse che mi permette su un form di
selezionare i vari device e quindi le directory e sub con l'elenco dei file
per la loro selezione. Il programma l'ho sviluppato sotto Windows XP -
Excel2000.
Ora l'ho installato su un altro pc con Windows Vista Home Basic - Excel 2007
mi elenca le directory del disco che seleziono, mi apre la dir Utenti
se tento di aprire la subdir dell'utente mi da Errore di Runtime 70 -
Autorizzazione negata.
se apro la subdir Pubblica va bene, ma quando seleziono la successiva
subdir mi da anche lì lo stesso errore.
Problema di autorizzazioni?
Grazie e Ciao
In Visual Basic Apri la Guida (F1) e digita:

errori intercettabili

Segui i collegamenti, quindi in corrispondenza dell'errore 70 troverai:

Autorizzazione negata (errore 70)
Si è cercato di scrivere su un disco protetto da scrittura o di
accedere ad un file bloccato. Cause e soluzioni dell'errore:
[ecc.]

Credo che per dire qualcosa di piu' bisognerebbe vedere il tuo codice.

(Facci sapere se e eventualmente come hai risolto. Grazie!)

--
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
Maurizio Borrelli
2008-05-10 09:53:01 UTC
Permalink
[...]
Post by Maurizio Borrelli
Post by gAbbonizio
Excel2007 - VBA
Ho un programma simile all'esplora risorse che mi permette su un form di
selezionare i vari device e quindi le directory e sub con l'elenco dei file
per la loro selezione. Il programma l'ho sviluppato sotto Windows XP -
Excel2000.
Ora l'ho installato su un altro pc con Windows Vista Home Basic - Excel 2007
mi elenca le directory del disco che seleziono, mi apre la dir Utenti
se tento di aprire la subdir dell'utente mi da Errore di Runtime 70 -
Autorizzazione negata.
se apro la subdir Pubblica va bene, ma quando seleziono la successiva
subdir mi da anche lì lo stesso errore.
Problema di autorizzazioni?
errori intercettabili
Autorizzazione negata (errore 70)
Si è cercato di scrivere su un disco protetto da scrittura o di
[ecc.]
Credo che per dire qualcosa di piu' bisognerebbe vedere il tuo codice.
Ho dimenticato di scriverlo ma con "dire qualcosa di piu'" intendevo
riferirmi alla tua gestione degli errori.

--
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
gAbbonizio
2008-05-11 09:24:00 UTC
Permalink
Post by Maurizio Borrelli
[...]
Post by Maurizio Borrelli
Post by gAbbonizio
Excel2007 - VBA
Ho un programma simile all'esplora risorse che mi permette su un form di
selezionare i vari device e quindi le directory e sub con l'elenco dei file
per la loro selezione. Il programma l'ho sviluppato sotto Windows XP -
Excel2000.
Ora l'ho installato su un altro pc con Windows Vista Home Basic - Excel 2007
mi elenca le directory del disco che seleziono, mi apre la dir Utenti
se tento di aprire la subdir dell'utente mi da Errore di Runtime 70 -
Autorizzazione negata.
se apro la subdir Pubblica va bene, ma quando seleziono la successiva
subdir mi da anche lì lo stesso errore.
Problema di autorizzazioni?
errori intercettabili
Autorizzazione negata (errore 70)
Si è cercato di scrivere su un disco protetto da scrittura o di
[ecc.]
Credo che per dire qualcosa di piu' bisognerebbe vedere il tuo codice.
Ho dimenticato di scriverlo ma con "dire qualcosa di piu'" intendevo
riferirmi alla tua gestione degli errori.
--
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
Ho capito a che cosa è dovuto l'errore!
Nel mio programma, quando faccio il display della lista delle directory, per
alcune me ne riporta 2; una in inglese ed una in italiano. Ad esempio mi
visualizza Programmi, e sotto Program Files. Documenti e sotto Documents.
Selezionando Documenti mi da errore di runtime 70 mentre se seleziono
Documents la apre regolarmente. Ritengo che Documenti in realtà non sia una
directory ma solo un link alla Documents e usata per l'interfaccia utente.
Difatti se apro tramite Vista la dir Documents non viene visualizzata e c'è
solo la dir Documenti rappresentata come cartella di colore azzurro.
Anche la dir Program Files non viene visualizzata da Vista, ma solo la dir
Programmi, ma questa volta in giallo (?).
Non sono pratico di Vista, ho iniziato ad usarlo adesso. Sai come posso
identificare in VBA qual'è una dir vera e quale un semplice link a quella?
Per adesso ho risolto implementando on error con il 70.
Ciao e grazie.
Norman Jones
2008-05-11 10:08:15 UTC
Permalink
Ciao gAbbonizio,

=============
Nel mio programma, quando faccio il display della lista delle directory, per
alcune me ne riporta 2; una in inglese ed una in italiano. Ad esempio mi
visualizza Programmi, e sotto Program Files. Documenti e sotto Documents.
Selezionando Documenti mi da errore di runtime 70 mentre se seleziono
Documents la apre regolarmente. Ritengo che Documenti in realtà non sia una
directory ma solo un link alla Documents e usata per l'interfaccia utente.
Difatti se apro tramite Vista la dir Documents non viene visualizzata e c'è
solo la dir Documenti rappresentata come cartella di colore azzurro.
Anche la dir Program Files non viene visualizzata da Vista, ma solo la dir
Programmi, ma questa volta in giallo (?).
Non sono pratico di Vista, ho iniziato ad usarlo adesso. Sai come posso
identificare in VBA qual'è una dir vera e quale un semplice link a quella?
Per adesso ho risolto implementando on error con il 70.
=============

Non ho seguito il thread e, pertanto,
risponderei unicamente alla tua domanda:

=============
Non sono pratico di Vista, ho iniziato ad usarlo adesso. Sai come posso
identificare in VBA qual'è una dir vera e quale un semplice link a quella?
Per adesso ho risolto implementando on error con il 70.
=============

Potresti utilizzare la seguente funzione utente:


'==========>>
Public Function IsValidFolder(sPath As String)
Dim FSO As Object
Dim oFolder As Object

Set FSO = CreateObject("Scripting.FileSystemObject")

On Error Resume Next
Set oFolder = FSO.GetFolder(sPath)
On Error GoTo 0

IsValidFolder = Not oFolder Is Nothing

End Function
'<<==========

La funzione potrebbe essere utilizzato cosi':

'==========>>
Public Sub TestIt()
Const sPath As String = "C:\Users\"

If IsValidFolder(sPath) Then
'tuo codice
Else
MsgBox Prompt:="il percorso non e' " _
& "stato risconosciuto", _
Buttons:=vbCritical, _
Title:="Problema!"

End Sub
'<<==========

La funzione dovrebbe essere incollata in
un modulo standard:

Alt-F11 per aprire l'Editor di VBA
Menu | Inserisci | Modulo
Incolla il suddetto codice
Alt-F11 per tornare in Excel


---
Regards.
Norman
Maurizio Borrelli
2008-05-11 10:27:01 UTC
Permalink
[...]
Post by Maurizio Borrelli
Post by Maurizio Borrelli
Post by Maurizio Borrelli
Post by gAbbonizio
Excel2007 - VBA
Ho un programma simile all'esplora risorse che mi permette su un form di
selezionare i vari device e quindi le directory e sub con l'elenco dei file
per la loro selezione. Il programma l'ho sviluppato sotto Windows XP -
Excel2000.
Ora l'ho installato su un altro pc con Windows Vista Home Basic - Excel 2007
mi elenca le directory del disco che seleziono, mi apre la dir Utenti
se tento di aprire la subdir dell'utente mi da Errore di Runtime 70 -
Autorizzazione negata.
se apro la subdir Pubblica va bene, ma quando seleziono la successiva
subdir mi da anche lì lo stesso errore.
Problema di autorizzazioni?
errori intercettabili
Autorizzazione negata (errore 70)
Si è cercato di scrivere su un disco protetto da scrittura o di
[ecc.]
Credo che per dire qualcosa di piu' bisognerebbe vedere il tuo codice.
Ho dimenticato di scriverlo ma con "dire qualcosa di piu'" intendevo
riferirmi alla tua gestione degli errori.
Ho capito a che cosa è dovuto l'errore!
Nel mio programma, quando faccio il display della lista delle directory, per
alcune me ne riporta 2; una in inglese ed una in italiano. Ad esempio mi
visualizza Programmi, e sotto Program Files. Documenti e sotto Documents.
Selezionando Documenti mi da errore di runtime 70 mentre se seleziono
Documents la apre regolarmente. Ritengo che Documenti in realtà non sia una
directory ma solo un link alla Documents e usata per l'interfaccia utente.
Difatti se apro tramite Vista la dir Documents non viene visualizzata e c'è
solo la dir Documenti rappresentata come cartella di colore azzurro.
Anche la dir Program Files non viene visualizzata da Vista, ma solo la dir
Programmi, ma questa volta in giallo (?).
Non sono pratico di Vista, ho iniziato ad usarlo adesso. Sai come posso
identificare in VBA qual'è una dir vera e quale un semplice link a quella?
Per adesso ho risolto implementando on error con il 70.
Ciao gAbbonizio.

E questo e' ok per quanto riguarda la gestione dell'errore. Ti resta da
chiarirci il modo che usi per ottenere "il display della lista delle
directory". Forse questo potrebbe essere migliorato.

--
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
gAbbonizio
2008-05-11 19:34:00 UTC
Permalink
Post by Maurizio Borrelli
[...]
Post by Maurizio Borrelli
Post by Maurizio Borrelli
Post by Maurizio Borrelli
Post by gAbbonizio
Excel2007 - VBA
Ho un programma simile all'esplora risorse che mi permette su un form di
selezionare i vari device e quindi le directory e sub con l'elenco dei file
per la loro selezione. Il programma l'ho sviluppato sotto Windows XP -
Excel2000.
Ora l'ho installato su un altro pc con Windows Vista Home Basic - Excel 2007
mi elenca le directory del disco che seleziono, mi apre la dir Utenti
se tento di aprire la subdir dell'utente mi da Errore di Runtime 70 -
Autorizzazione negata.
se apro la subdir Pubblica va bene, ma quando seleziono la successiva
subdir mi da anche lì lo stesso errore.
Problema di autorizzazioni?
errori intercettabili
Autorizzazione negata (errore 70)
Si è cercato di scrivere su un disco protetto da scrittura o di
[ecc.]
Credo che per dire qualcosa di piu' bisognerebbe vedere il tuo codice.
Ho dimenticato di scriverlo ma con "dire qualcosa di piu'" intendevo
riferirmi alla tua gestione degli errori.
Ho capito a che cosa è dovuto l'errore!
Nel mio programma, quando faccio il display della lista delle directory, per
alcune me ne riporta 2; una in inglese ed una in italiano. Ad esempio mi
visualizza Programmi, e sotto Program Files. Documenti e sotto Documents.
Selezionando Documenti mi da errore di runtime 70 mentre se seleziono
Documents la apre regolarmente. Ritengo che Documenti in realtà non sia una
directory ma solo un link alla Documents e usata per l'interfaccia utente.
Difatti se apro tramite Vista la dir Documents non viene visualizzata e c'è
solo la dir Documenti rappresentata come cartella di colore azzurro.
Anche la dir Program Files non viene visualizzata da Vista, ma solo la dir
Programmi, ma questa volta in giallo (?).
Non sono pratico di Vista, ho iniziato ad usarlo adesso. Sai come posso
identificare in VBA qual'è una dir vera e quale un semplice link a quella?
Per adesso ho risolto implementando on error con il 70.
Ciao gAbbonizio.
E questo e' ok per quanto riguarda la gestione dell'errore. Ti resta da
chiarirci il modo che usi per ottenere "il display della lista delle
directory". Forse questo potrebbe essere migliorato.
--
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
Sub TrovaSubDirectory(Path, NrDir)
On Error Resume Next
Dim Oggetto, OggettoMetodo, FilDir, TrovaSubDir
Set Oggetto = CreateObject("Scripting.FileSystemObject")
Set OggettoMetodo = Oggetto.GetFolder(Path)
Set TrovaSubDir = OggettoMetodo.SubFolders
NrDir = OggettoMetodo.SubFolders.Count
ReDim ArraySort(NrDir)
NrDir = 0
For Each FilDir In TrovaSubDir
NrDir = NrDir + 1
ArraySort(NrDir) = FilDir.Name 'Array per ordine alfabetico delle
directory
Next
Set Oggetto = Nothing
Set OggettoMetodo = Nothing
Set TrovaSubDir = Nothing
If Err.Number = 70 . . . . . . . . . . . . .
Resume

End Sub
Maurizio Borrelli
2008-05-11 22:57:25 UTC
Permalink
[...]
Post by gAbbonizio
Post by Maurizio Borrelli
E questo e' ok per quanto riguarda la gestione dell'errore. Ti resta da
chiarirci il modo che usi per ottenere "il display della lista delle
directory". Forse questo potrebbe essere migliorato.
Sub TrovaSubDirectory(Path, NrDir)
On Error Resume Next
Dim Oggetto, OggettoMetodo, FilDir, TrovaSubDir
Set Oggetto = CreateObject("Scripting.FileSystemObject")
Set OggettoMetodo = Oggetto.GetFolder(Path)
Set TrovaSubDir = OggettoMetodo.SubFolders
NrDir = OggettoMetodo.SubFolders.Count
ReDim ArraySort(NrDir)
NrDir = 0
For Each FilDir In TrovaSubDir
NrDir = NrDir + 1
ArraySort(NrDir) = FilDir.Name 'Array per ordine alfabetico delle
directory
Next
Set Oggetto = Nothing
Set OggettoMetodo = Nothing
Set TrovaSubDir = Nothing
If Err.Number = 70 . . . . . . . . . . . . .
Resume
End Sub
Ciao gAbbonizio.

Scusa, ma perche' non usi:

Function GetOpenFilename([FileFilter] _
, [FilterIndex] _
, [Title] _
, [ButtonText] _
, [MultiSelect])
Membro di Excel.Application

-oppure-

Function BrowseForFolder(Hwnd As Long _
, Title As String _
, Options As Long _
, [RootFolder] _
) As Folder
Membro di Shell32.Shell

?

--
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
gAbbonizio
2008-05-12 14:28:00 UTC
Permalink
Post by Maurizio Borrelli
[...]
Post by gAbbonizio
Post by Maurizio Borrelli
E questo e' ok per quanto riguarda la gestione dell'errore. Ti resta da
chiarirci il modo che usi per ottenere "il display della lista delle
directory". Forse questo potrebbe essere migliorato.
Sub TrovaSubDirectory(Path, NrDir)
On Error Resume Next
Dim Oggetto, OggettoMetodo, FilDir, TrovaSubDir
Set Oggetto = CreateObject("Scripting.FileSystemObject")
Set OggettoMetodo = Oggetto.GetFolder(Path)
Set TrovaSubDir = OggettoMetodo.SubFolders
NrDir = OggettoMetodo.SubFolders.Count
ReDim ArraySort(NrDir)
NrDir = 0
For Each FilDir In TrovaSubDir
NrDir = NrDir + 1
ArraySort(NrDir) = FilDir.Name 'Array per ordine alfabetico delle
directory
Next
Set Oggetto = Nothing
Set OggettoMetodo = Nothing
Set TrovaSubDir = Nothing
If Err.Number = 70 . . . . . . . . . . . . .
Resume
End Sub
Ciao gAbbonizio.
Function GetOpenFilename([FileFilter] _
, [FilterIndex] _
, [Title] _
, [ButtonText] _
, [MultiSelect])
Membro di Excel.Application
-oppure-
Function BrowseForFolder(Hwnd As Long _
, Title As String _
, Options As Long _
, [RootFolder] _
) As Folder
Membro di Shell32.Shell
?
--
Maurizio Borrelli [Microsoft MVP Office System]
http://www.riolab.org/
Dimmi pure stupido, ma credevo che questi fossero disponibili per il VB e non nell VBA. (e ci ho pure persa più di mezza giornata per crearmi una struttura analoga).
Ciao e grazie a te e Norman
Loading...