Eroare deschidere initiala fisier in VBA - Workbook_Open

ovidiu's
Mesaje: 8
Membru din: Joi Oct 03, 2019 11:39 am

Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de ovidiu's » Joi Oct 03, 2019 2:26 pm

Salut,

Help!
Incerc sa rezolv urmatoarea problema in VBA si nu gasesc solutii.

Imi dau seama ca aici poate avea o influenta si faptul ca in Excel Options/Trust Center/Protect View este bifata optiunea "Enable Protect View for files originating from the Internet", si nu as dori sa fie debifata decat daca se poate automat si rebifata la loc la inchiderea fisierului.

Mesajul la o prima deschidere a fisierului fiind "PROTECT VIEW Be careful - files from the internet can containes viruses.
Unless you need to edit, it's safer to stay in Protect View" si am posibilitatea apasarii butonului "Enable Editing".

In fisierul excel pe care il deschid ( la o prima deschidere doar ), in VBA, la Private Sub Workbook_Open() codul se opreste la comanda ThisWorkbook.Sheets(1).Activate, eroarea fiind de genul "Run-time error 1004. Activate method of Worksheet class failed".

Multumesc anticipat!

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de IPP » Joi Oct 03, 2019 2:55 pm

Buna ziua

Se comporta la fel si daca inlocuiti linia de cod

Cod: Selectaţi tot

ThisWorkbook.Sheets(1).Activate
cu

Cod: Selectaţi tot

ThisWorkbook.Sheets(1).Select
?
IP

ovidiu's
Mesaje: 8
Membru din: Joi Oct 03, 2019 11:39 am

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de ovidiu's » Joi Oct 03, 2019 3:25 pm

Da, mesajul de eroare este acelasi.
Din cate vad, atunci cand apare eroare, in bara am doua fisiere cu acelasi nume, unul normal si unul "[Protect View]".
Posibil ca asta sa produca imposibilitatea VBA de a merge mai departe?

ovidiu's
Mesaje: 8
Membru din: Joi Oct 03, 2019 11:39 am

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de ovidiu's » Dum Oct 06, 2019 2:14 pm

Am mai cautat, si problema mea pare cunoscuta.

A mai avut cineva o problema de acest fel?

Catalin B.
Moderator
Moderator
Mesaje: 813
Membru din: Vin Sep 09, 2011 4:05 pm
Localitate: Iaşi

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de Catalin B. » Mar Oct 08, 2019 6:49 am

Solutii posibile:
Excel.ProtectedViewWindow
disabling-protected-view-2010
Sau deschizi fisierul direct in PVWindow si schimbi in Edit mode:
Application.ProtectedViewWindows.Open Filename:=fName
Application.ActiveProtectedViewWindow.Edit
Probleme să fie, că soluţii se găsesc...

ovidiu's
Mesaje: 8
Membru din: Joi Oct 03, 2019 11:39 am

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de ovidiu's » Mar Oct 08, 2019 9:28 am

Salut Catalin,

Ideea este urmatoarea:
- prima solutie a fost testata si nu functioneaza.
Nici nu vad de ce Microsoft Excel ar da voie printr-un macro ( poate chiar virusat ) ca optiunea "Enable Protect View for files originating from the
Internet" sa fie anulata/debifata la deschiderea fisierului.
Sau mergem pe ideea ca sunt inca un incepator in VBA.

- a doua solutie : nu imi permit sa anulez ( debifez ) din start, optiunea Protect View, pentru orice fisier care vine din Internet.

Am aceasta problema, doar la prima deschidere a fisierului.
Tinand cont de faptul ca o aplicatie din Intranet foloseste fisierul excel cu alta denumire la fiecare deschidere, aceeasi eroare o am de fiecare data.

Multumesc oricum pentru raspuns.
Ovidiu

Catalin B.
Moderator
Moderator
Mesaje: 813
Membru din: Vin Sep 09, 2011 4:05 pm
Localitate: Iaşi

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de Catalin B. » Mar Oct 08, 2019 10:43 am

Schimbarea din Protected View in Edit nu inseamna si permiterea rularii de macro din fisierul care a fost in Protected view. Daca setarile de securitate sunt corecte, permiterea rularii macro este un mesaj de avertizare care apare dupa ce fisierul este in Edit mode. Devine o problema doar atunci cand setarile macro permit rularea oricarui cod fara restrictii, abia atunci un macro din fisierul respectiv poate rula automat la trecerea in Edit mode.
In cazul de fata, presupun ca setarile macro sunt corecte.
ovidiu's scrie:
Mar Oct 08, 2019 9:28 am
Nici nu vad de ce Microsoft Excel ar da voie printr-un macro ( poate chiar virusat ) ca optiunea "Enable Protect View for files originating from the
Internet" sa fie anulata/debifata la deschiderea fisierului.
ovidiu's scrie:
Joi Oct 03, 2019 2:26 pm
in Excel Options/Trust Center/Protect View este bifata optiunea "Enable Protect View for files originating from the Internet", si nu as dori sa fie debifata decat daca se poate automat si rebifata la loc la inchiderea fisierului
Variantele prezentate implica rularea codului "Application.ProtectedViewWindows.Open Filename:=fName" din alt fisier excel sau dintr-un add-in, nu din fisierul descarcat de pe internet.
Pentru prima deschidere a fisierului se poate folosi un simplu cod de gestionare erori, codul nu va mai da eroare, dar la prima deschidere nu va activa acel sheet.

Cod: Selectaţi tot

On Error Resume Next
Sheets(1).Activate
If Err.Number<>0 then Exit Sub
Poate e mai bine de folosit codul de activare sheet la inchiderea fisierului, nu la deschidere. Astfel, sheet-ul respectiv va fi cu siguranta activ la orice deschidere, fara sa mai fie nevoie de activare sheet la deschidere. Depinde de context, aici nu stiu daca acel cod mai face si altceva in afara de activare sheet.
Probleme să fie, că soluţii se găsesc...

ovidiu's
Mesaje: 8
Membru din: Joi Oct 03, 2019 11:39 am

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de ovidiu's » Mar Oct 08, 2019 11:02 am

Salut Catalin,

Codul din Worbook_Open are mai multe etape:
- mai intai trebuie sa ia cateva cateva sheet-uri sa le verifice si sa le "curete". Pana sa ajunga la acestea nu poate intra nici in primul sheet al workbook-ului, mai ales tinand cont, asa cum am spus ca am in bara Windows 2 fisiere cu aceeasi denumire, unul ".xlsm" si unul ".xlsm [Protect View]"
- apoi alte etape, la care nici nu ajunge…

Incerc sa activez acum aceste sheet-uri si sa rulez aceste coduri din Workbook_Activate si cred ca o sa mearga.
Verific.

Multumesc.
Toate cele bune!

H2SO4
Mesaje: 135
Membru din: Mar Apr 19, 2016 12:50 pm

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de H2SO4 » Mar Oct 08, 2019 1:53 pm

Salut,

Am avut si noi o problema asemanatoare.
S-a rezolvat prin rularea unui antivirus (de pe un suport extern) apoi repararea/reinstalarea Excel/Office.
Sper sa te ajute.
“Tell me and I forget, teach me and I may remember, involve me and I learn.”

ovidiu's
Mesaje: 8
Membru din: Joi Oct 03, 2019 11:39 am

Re: Eroare deschidere initiala fisier in VBA - Workbook_Open

Mesaj de ovidiu's » Mar Oct 08, 2019 2:27 pm

Multumesc.

Scrie răspuns

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”