Zaslal/a
2.1.2020 12:57Vsechno nejlepsi do Noveho roku! Díky všem za tohle forum :)
Chci se zeptat na toto -
mám excel soibor, který otevírá jiné excel soubory, přečte data, zavře soubor a otevře další atd atd...
vše fungovalo tak jak mělo, ale teď nové soubory se odmítají zavřít bez potvrzení uložení změn (i kdyz zadne zmeny nenastaly). materskej soubor se pak zasekne, kdyz se mu odmita podrizenej soubor zavrit.
kod v materskem souboru
Sub nejmakro()
Application.ScreenUpdating = False
Dim poleNazvu()
Dim a As Integer
Dim c As Integer
Dim x As Integer
Dim xlApp As New Excel.Application
w = Range("Návod!F21").Text
MyFile = FileSystem.Dir(w & "*.*")
'MyFile = FileSystem.Dir(Application.ThisWorkbook.Path & "\Protokoly vad\" & "*.*")
Do While MyFile <> ""
ReDim Preserve poleNazvu(x)
poleNazvu(x) = MyFile
MyFile = FileSystem.Dir
x = x + 1
Loop
a = UBound(poleNazvu) + 1
Range("B8").Value = a
ActiveSheet.Range("A7:C450").ClearContents
ActiveSheet.Range("E7:E450").ClearContents
'For c = 0 To a - 1
'Cells(c + 3, 1) = poleNazvu(c)
'a je pocet souboru, poradi posledniho je ale a-1
'Next
Application.ScreenUpdating = True
For c = 0 To a - 1
xlApp.Workbooks.Open (w & poleNazvu(c))
'xlApp.Workbooks.Open (Application.ThisWorkbook.Path & "\Protokoly vad\" & poleNazvu(c))
Cells(c + 7, 1) = xlApp.Cells(9, 12)
Cells(c + 7, 2) = xlApp.Cells(19, 6)
Cells(c + 7, 3) = xlApp.Cells(33, 6)
Cells(c + 7, 5) = xlApp.Cells(64, 8)
xlApp.Workbooks(poleNazvu(c)).Close
Next
Range("A6").Select
ActiveWorkbook.Save
End Sub
v oteviranych souborech mam ve vsech
Private Sub Workbook_Open()
ActiveWorkbook.Save
End Sub
predstavuju si nejakej kod, kterej zavre soubory natvrdo i kdyz se budou ptat na ulozeni zmen.
pokud to nepujde bez souboru, prilozim.
moc díky
elninoslov napsal/a:
Tak za Close pridajte False
xlApp.Workbooks(poleNazvu(c)).Close False
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.