[ vojvoda1010 @ 14.01.2016. 16:42 ] @
http://excel.tips.net/T003307_Saving_All_Open_Workbooks.html
Da li moze pojasnjenje ako imam 20 otvorenih workbooks gde snimam ovaj macro? U jedan u njih ili da otvorim poseban workbook prazan I kako snimam mascro kao personal?
[ vojvoda1010 @ 15.01.2016. 19:07 ] @
Da li mora baton dugme uraditi i u kojo svesci uraditi u jednoj od otvorenih ili novu
[ vojvoda1010 @ 16.01.2016. 12:10 ] @
Uspeo sam sa ovim kodom u prilogu. Alt+11 pa insert modul ubacio macro save pa f5 i kad sam jedan od zatvorio zatvorio sve.
Mene zanima da li je moguce u ovaj kod dodati da otvprene workbookove snimi kao xls file i u excel 2003. Posto te fajlove koje sam automatski otvorio nisu xls vec html dokument i kad ih snima snima u html a ne u xls?Hvala
[ vojvoda1010 @ 16.01.2016. 16:10 ] @
da li moze ovo da se iskoristi

Dim app, fso, file, fName, wb, dir

dir = "d:\path\"

Set app = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")

For Each file In fso.GetFolder(dir).Files
If LCase(fso.GetExtensionName(file)) = "xlsx" Then
fName = fso.GetBaseName(file)

Set wb = app.Workbooks.Open(file)
app.Application.Visible = False
app.Application.DisplayAlerts = False
app.ActiveWorkbook.SaveAs dir & fName & ".xls", 43
app.ActiveWorkbook.Close
app.Application.DisplayAlerts = True
app.Application.Quit

End if
Next

Set fso = Nothing
Set wb = Nothing
Set app = Nothing

wScript.Quit
[ vojvoda1010 @ 16.01.2016. 16:30 ] @
Sub test()

Dim iNoSheets As Integer
Dim i As Integer

iNoSheets = Worksheets.Count

For i = 1 To iNoSheets
Worksheets(i).Activate
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="C:\Test\" & i & ".xls"
ActiveWorkbook.Close
Next

End Sub


probao sam I ovo ali mi pokazuje gresku ActiveWorkbook.SaveAs Filename:="C:\Test\" & i & ".xls", run-time error 1004, Microsoft not access the file
[ Ivek33 @ 16.01.2016. 19:05 ] @
Čovječe, ti toliko širok dijapazon radnji u Excelu radiš za kratko vrijeme da je to "zadivljujuće". Meni je teško pratiti samo čitajući (ponekada nejasne) tvoje postove.
Kad već nitko ne odgovara a ti si uporan i vrijedan, evo ti primjer snimanja trenutno svih otvorenih Workbook. Nešto sam kemijao i uz pomoć neta kreirao vba, u ZIP datoteci nalaze se 4 XLS datoteke. Experti to mogu vjerojatno jednostavnije i brže
Otvori ih sve redom. U Book1.xls nalazi se Macro i VBA button. Klikom na button Excel zatvara sve otvorene Workbook osim Book1.xls koja služi kao master pokretač

Ako ćeš raditi često ovu radnju tada kreiraj Personal.xls "shortcut key" i umetni VBA kod u datoteku PERSONAL.XLS

Dakle pokretanjem VBA u Book1.xls automatski snima i zatvara sve otvorene workbook na isto mjesto/path (pretpostavlja se da su workbook već snimljene jedanput sa nekim imenom, dakle ne novootvorene workbook)
Ako su nove workbook tada će prilikom prvog snimanja tražiti potvrdu lokacije za snimanje.
Code:
Option Explicit

Sub SaveAndCloseAllWbk()
Dim wb As Workbook
For Each wb In Workbooks
    Select Case UCase(wb.Name)
    Case "Book1.xls", UCase(ThisWorkbook.Name)
         'Code, if any
    Case Else
        wb.Close SaveChanges:=True
    End Select
Next wb
Set wb = Nothing
End Sub

Valjda će ti biti od neke pomoći? :)
[ vojvoda1010 @ 16.01.2016. 22:37 ] @
Hvala na odgovoru i na trudu,puno hvala. Probao sam i snima sve otvorene vec jednom snimljene fajlove. Da li bi moglo da se snime novi fajlovi koji prethodno nisu snimani? Jos jednom hvala na odgovoru.
[ Ivek33 @ 17.01.2016. 08:38 ] @
Citat:
vojvoda1010: Da li bi moglo da se snime novi fajlovi koji prethodno nisu snimani?
Pa dao sam ti odgovor u prethodnom postu (zadnja rečenica prije koda). A što je teško i da sam isprobaš, be creative?

Ako imaš situaciju

1. Otvorio si Book1 u kojoj se nalazi VBA
2. Otvorio si nekoliko novih Workbook (Book2.xls, Book3.xls ... itd)
3. U svakoj novoj blanko wbk napravio si neke izmjene
4. Prilikom klika na VBA button Excel snima sve otvorene Workbook
5. Za svaku novokreiranu Workbook pojaviti će se prozor za snimanje u kojem trebaš odrediti lokaciju i eventualno promijeniti naziv