vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest poniedziałek, 29 kwietnia 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Zapis skoroszytu za pomocą VBA bez osadzania w nim makra [excel 2003]


otwartyotwarty rozpoczął: marcin_w postów: 10



napisał: Trebor
postów: 1209


umieszczony:
28 czerwca 2012
16:53

edytowany:
28 czerwca 2012
16:59

  
nazwa pliku rozmiar
makra.JPG 45.44 kB

Może problem tkwi w ustawieniach zabezpieczeń makr?
napisał: admin
postów: 613


umieszczony:
27 czerwca 2012
20:33

  
Cytat:
Testowałem w excelu 2007, działa bezproblemowo.


JA w sumie też testowałem w Excelu 2007 i też działało.
napisał: Trebor
postów: 1209


umieszczony:
27 czerwca 2012
16:21

  
Testowałem w excelu 2007, działa bezproblemowo.
napisał: admin
postów: 613


umieszczony:
27 czerwca 2012
15:25

  
Cytat:
Działa super w Excelu 2003. Tak z ciekawości czemu nie chce to działać w Excelu 2010?


Sprawdze wieczorem.
napisał: marcin_w
postów: 3


umieszczony:
27 czerwca 2012
13:00

  
Działa super w Excelu 2003. Tak z ciekawości czemu nie chce to działać w Excelu 2010?
napisał: admin
postów: 613


umieszczony:
27 czerwca 2012
09:20

edytowany:
27 czerwca 2012
15:25

  
Cytat:
Dzięki za szybką odpowiedź.
Niestety admin Twoje rozwiązanie się nie sprawdza ponieważ nowo zapisany skoroszyt zawiera w sobie makro (które się odpala przy jego starcie).
Najbardziej interesowało by mnie rozwiązanie "3. Usuwasz makra kodem przed zapisem jako" jakie zaproponował Trebor. Tak żeby zapisany arkusz był zupełnie "czysty" - bez żadnego makra. Tylko jak to zrobić?


Niedokladnie przeczytalem Twoje pytanie i odpowiedzialem akurat odwrotnie jak chciales.
Rozwiazanie proponowane przez Trebora jest oczywiscie (jak zwykle...) najlepsze.

edit:
Chociaz moje tez chyba niezle:

Sub RemoveVBA()

Set oWBK = ThisWorkbook

Dim oVBC As Object

For Each oVBC In oWBK.VBProject.VBComponents

    If oVBC.Type = 100 Then
        oVBC.CodeModule.DeleteLines 1, oVBC.CodeModule.CountOfLines
    Else
        oWBK.VBProject.VBComponents.Remove oVBC
    End If

Next oVBC

Set oWBK = Nothing

End Sub



pozdrawiam
admin
napisał: marcin_w
postów: 3


umieszczony:
26 czerwca 2012
20:40

  
Dzięki za szybką odpowiedź.
Niestety admin Twoje rozwiązanie się nie sprawdza ponieważ nowo zapisany skoroszyt zawiera w sobie makro (które się odpala przy jego starcie).
Najbardziej interesowało by mnie rozwiązanie "3. Usuwasz makra kodem przed zapisem jako" jakie zaproponował Trebor. Tak żeby zapisany arkusz był zupełnie "czysty" - bez żadnego makra. Tylko jak to zrobić?
napisał: Trebor
postów: 1209


umieszczony:
26 czerwca 2012
20:07

  
Przychodzą mi na myśli trzy sposoby zapisu danych bez makr:
1. Makra trzymasz w "personalu" a nie skoroszycie docelowym (problem, gdy skoroszyt przenosisz między komputerami)
2. Kopiujesz hurtem niezbędne arkusze do nowego skoroszytu i wtedy zapisujesz dane
3. Usuwasz makra kodem przed zapisem jako

Która wersja Cię interesuje?
napisał: admin
postów: 613


umieszczony:
26 czerwca 2012
18:56

  
Musisz odpowiednio zapisac te arkusze.
Jesli makro ma byc uniwersalne to nalezy okreslic wersje Excela.

Moja propozycja:

If Val(Application.Version) < 12 Then
    ActiveWorkbook.SaveAs "C:\plik_marcina.xls"
 Else
   ActiveWorkbook.SaveAs "C:\plik_marcina.xls", 56
End If



Daj znac, czy dziala!
napisał: marcin_w
postów: 3


umieszczony:
26 czerwca 2012
18:23

  
Witam,

Mam skoroszyt utworzony w Excelu 2003 który przy otwieraniu uruchamia makro które umożliwia wprowadzanie danych do tego skoroszytu, analizę danych itp. Makro umożliwia także zapisanie wprowadzonych danych do nowego skoroszytu (SaveAs) i tu pojawia sie problem. A mianowicie jak zapisać ten skoroszyt w Excelu 2003 bez osadzania w nim makra i bez konwertowania do xlsx?
Z góry dzięki za pomoc.

Pozdrawiam


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z