Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

snimanje vise otvorenih workbooks-a

[es] :: Office :: Excel :: snimanje vise otvorenih workbooks-a

[ Pregleda: 1808 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vojvoda1010
nezaposlen

Član broj: 310516
Poruke: 547
95.180.13.*



+2 Profil

icon snimanje vise otvorenih workbooks-a14.01.2016. u 16:42 - pre 99 meseci
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?
 
Odgovor na temu

vojvoda1010
nezaposlen

Član broj: 310516
Poruke: 547
149.11.21.*



+2 Profil

icon Re: snimanje vise otvorenih workbooks-a15.01.2016. u 19:07 - pre 99 meseci
Da li mora baton dugme uraditi i u kojo svesci uraditi u jednoj od otvorenih ili novu
 
Odgovor na temu

vojvoda1010
nezaposlen

Član broj: 310516
Poruke: 547
*.dynamic.vipmobile.rs.



+2 Profil

icon Re: snimanje vise otvorenih workbooks-a16.01.2016. u 12:10 - pre 99 meseci
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
Prikačeni fajlovi
 
Odgovor na temu

vojvoda1010
nezaposlen

Član broj: 310516
Poruke: 547
95.180.13.*



+2 Profil

icon Re: snimanje vise otvorenih workbooks-a16.01.2016. u 16:10 - pre 99 meseci
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
 
Odgovor na temu

vojvoda1010
nezaposlen

Član broj: 310516
Poruke: 547
95.180.13.*



+2 Profil

icon Re: snimanje vise otvorenih workbooks-a16.01.2016. u 16:30 - pre 99 meseci
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
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: snimanje vise otvorenih workbooks-a16.01.2016. u 19:05 - pre 99 meseci
Č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? :)
Prikačeni fajlovi
 
Odgovor na temu

vojvoda1010
nezaposlen

Član broj: 310516
Poruke: 547
*.dynamic.vipmobile.rs.



+2 Profil

icon Re: snimanje vise otvorenih workbooks-a16.01.2016. u 22:37 - pre 99 meseci
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.
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: snimanje vise otvorenih workbooks-a17.01.2016. u 08:38 - pre 99 meseci
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

 
Odgovor na temu

[es] :: Office :: Excel :: snimanje vise otvorenih workbooks-a

[ Pregleda: 1808 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.