Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Errore di runtime 70 - Autorizzazione negata

774 views
Skip to first unread message

gAbbonizio

unread,
May 10, 2008, 5:36:00 AM5/10/08
to
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

unread,
May 10, 2008, 5:46:41 AM5/10/08
to

"gAbbonizio" <gAbbo...@discussions.microsoft.com> wrote in message
news:181827F6-EE15-4790...@microsoft.com:

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

unread,
May 10, 2008, 5:53:01 AM5/10/08
to
"Maurizio Borrelli" wrote in message
news:#dNeHLos...@TK2MSFTNGP03.phx.gbl:

[...]


> > 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?

> 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.

Ho dimenticato di scriverlo ma con "dire qualcosa di piu'" intendevo
riferirmi alla tua gestione degli errori.

gAbbonizio

unread,
May 11, 2008, 5:24:00 AM5/11/08
to

"Maurizio Borrelli" ha scritto:

> 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

unread,
May 11, 2008, 6:08:15 AM5/11/08
to
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

unread,
May 11, 2008, 6:27:01 AM5/11/08
to
"gAbbonizio" wrote in message
news:425994C8-10D6-4350...@microsoft.com:
> "Maurizio Borrelli" ha scritto:

[...]
> > > > 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?
> > > 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.
> > 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.

gAbbonizio

unread,
May 11, 2008, 3:34:00 PM5/11/08
to

"Maurizio Borrelli" ha scritto:

> Per trovare le Subdirectory uso:
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

unread,
May 11, 2008, 6:57:25 PM5/11/08
to
"gAbbonizio" wrote in message
news:FB2E5991-CCFA-40B6...@microsoft.com:
> "Maurizio Borrelli" ha scritto:

[...]


> > 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.

> > Per trovare le Subdirectory uso:
> 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

?

gAbbonizio

unread,
May 12, 2008, 10:28:00 AM5/12/08
to

"Maurizio Borrelli" ha scritto:

> 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

>
>
>
>

0 new messages