![]() |
Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Verificare fisier deschis in VB 6.5
Last Updated: Nov 05 2008 13:46, Started by
dcrst755
, Nov 04 2008 17:59
·
0

#1
Posted 04 November 2008 - 17:59

sal
fiind novice in VB cer un mic ajutor dupa ce am tot citit pe net de-mi plezneste capu si zeci de incercari. Am facut un Macro care tb sa scrie dintr-un workbook in alte 2 fisiere .xls datele introduse in primul. Toate bune si frumoase pana in momentul in care dc unul din cele 2 fisiere in care scrie este deschis, da eroare. cum verific dc un fieiser .xls este deschis sau nu. dc e deschis, sa atentioneze utulizatoru. Merci! Edited by dcrst755, 04 November 2008 - 18:00. |
#2
Posted 04 November 2008 - 18:15

sal fiind novice in VB cer un mic ajutor dupa ce am tot citit pe net de-mi plezneste capu si zeci de incercari. Am facut un Macro care tb sa scrie dintr-un workbook in alte 2 fisiere .xls datele introduse in primul. Toate bune si frumoase pana in momentul in care dc unul din cele 2 fisiere in care scrie este deschis, da eroare. cum verific dc un fieiser .xls este deschis sau nu. dc e deschis, sa atentioneze utulizatoru. Merci! Err.Description,Err.Number |
#3
Posted 04 November 2008 - 18:37

pai da prind eroarea...dar de la ce comanda ca de la Open nu vrea. Eu am incercat ca mai jos:
Sub TestOpen() fistmp1 = "\\Cristian\work\Evidenta P-V.xls" fistmp2 = "\\Cristian\work\Raport Activitate.xls" Open fistmp1 For Random As #1 Open fistmp2 For Input As #2 On Error GoTo err_handler err_handler: Select Case Err.Number Case 20: MsgBox "Fisiere deschise!!! Va rog asigurati va ca sunt inchise" Case 53: MsgBox "Nu gasesc fisierele in care trebuie sa scriu!!!" Case 55: MsgBox "Fisiere deschise!!! Va rog asigurati va ca sunt inchise" Case 71: MsgBox "Nu sunt accesibile in retea fisierele" End Select Close #1 Close #2 End Sub dar dupa comanda Open nu-mi capteaza nici o eroare. |
#5
Posted 05 November 2008 - 10:49

cum trbuie pus inainte de Open ?!?!
ca face saltul la err_handler: inainte de a-mi deschide fisierele ? Secventa de cod e luata dintr-un tutorial. ideea este ca in codul de mai sus indiferent daca sunt deschise sau nu de cineva cele 2 xls-uri comanda Open nu-mi genereaza nici o eroare iar Err.Number are valoarea 0. |
#6
Posted 05 November 2008 - 11:34

mda...l-am pus si inainte de Open si degeaba. nu vede ca fisierul este deschis.
|
#7
Posted 05 November 2008 - 13:00

Sub TestOpen() On Error GoTo err_handler fistmp1 = "\\Cristian\work\Evidenta P-V.xls" fistmp2 = "\\Cristian\work\Raport Activitate.xls" Open fistmp1 For Random As #1 Open fistmp2 For Input As #2 Close #1 Close #2 Exit Sub err_handler: Select Case Err.Number Case 20: MsgBox "Fisiere deschise!!! Va rog asigurati va ca sunt inchise" Case 53: MsgBox "Nu gasesc fisierele in care trebuie sa scriu!!!" Case 55: MsgBox "Fisiere deschise!!! Va rog asigurati va ca sunt inchise" Case 71: MsgBox "Nu sunt accesibile in retea fisierele" End Select End Sub Folosete codul corectat mai sus,l-am scris direct in browser nu l-am verificat in VB,daca nu merge pune un beakpoint pe Select Case Err.Number si vezi exact ce valoare are Err.Number
cum trbuie pus inainte de Open ?!?! ca face saltul la err_handler: inainte de a-mi deschide fisierele ? Secventa de cod e luata dintr-un tutorial. ideea este ca in codul de mai sus indiferent daca sunt deschise sau nu de cineva cele 2 xls-uri comanda Open nu-mi genereaza nici o eroare iar Err.Number are valoarea 0. Pai asa este pentru ca indiferent de situatie la tine se executa si parte de dupa err_handler:,vezi ca am pus un Exit Sub. Edited by ionut_y, 05 November 2008 - 12:57. |
#8
Posted 05 November 2008 - 13:46

merci mult. am inteles
pana la urma am reusit astfel: Sub Salvare() Dim fistmp As String fistmp1 = "\\Cristian\all\Evidenta P-V.xls" fistmp2 = "\\Cristian\all\Raport Activitate.xls" If IsFileLocked(fistmp1) Or IsFileLocked(fistmp2) Then MsgBox " !!! Fisiere deschise !!!" MsgBox "Datele NU s-au SALVAT. Iesiti din fisierele folosite si salvati din nou!" Else ....................... End If End Sub Function IsFileLocked(ByVal fileName As String) As Boolean On Error Resume Next Open fileName For Binary Access Read Write Lock Read Write As #1 Close #1 If Err.Number <> 0 Then IsFileLocked = True Err.Clear Else IsFileLocked = False End If End Function |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users