< návrat zpět

MS Excel


Téma: dotaz na ulozeni pri zavreni souboru rss

Zaslal/a 2.1.2020 12:57

Vsechno 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

Zaslat odpověď >

#045429
avatar
Odhlasilo me to, nejsem anonym, jsem fasd39 :)citovat
#045430
avatar
neviem o čo ti ide. že by?
xlApp.Workbooks(poleNazvu(c)).Save
xlApp.Workbooks(poleNazvu(c)).Close
citovat
#045431
elninoslov
Tak za Close pridajte False
xlApp.Workbooks(poleNazvu(c)).Close Falsecitovat
#045432
avatar

elninoslov napsal/a:

Tak za Close pridajte False
xlApp.Workbooks(poleNazvu(c)).Close False

Ale v tomto prípade mi nie je jasné, prečo v tých súboroch robil zmeny. 4citovat
#045433
elninoslov
Tak si vymyslím z brucha napr. funkcia TODAY/DNES alebo NOW/NYNÍ spôsobí prepočet, teda zmenu.citovat
#045441
avatar
:O Pridani False dle Elninoslov vyresilo situaci, nestacim se divit jednoduchosti reseni :) díky moc.

presne tak, ja tam zadny zmeny nedelam, ale puvodne jsem to resil kvuli funkci dnes(), kterou pouzivam ve vetsine souboru a ktera automaticky vyvola dotaz na ulozeni, protoze vyvolava ze sve podstaty zmenu v souboru.to jsem ale mel vyresene uz predtim.
tentokrat ale podezrivam funkci FOTOAPARÁTU, která zobrazuje část sešitu obrázkem na jiném místě a asi se taky aktualizuje automaticky...

díky moccitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje