vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest środa, 14 maja 2025 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

eksport aktywnego arkusza z excela do plik CSV (MS-DOS)


otwartyotwarty rozpoczął: koffers postów: 7



napisał: koffers
postów: 10


umieszczony:
18 lutego 2007
23:03

  
Po co od razu tak nerwowo i te wykrzykniki ?
Na komputerach na których działa to makro separator nigdzie nie jest wykorzystywany, tylko akurat w tym przypadku. Poza tym akurat wszędzie był ustawiony średnik.
Nigdy nie napisałbym "inwazyjnego" makra. Po pierwsze z poszanowania prywatności, po drugie moja znajomość VBA jak już pisałem jest dość skromna, a czas był tu dość istotny.
Chciałem się tylko podzielić z Wami tym co zauważyłem.
Takie rozwiązanie mnie satysfakcjonuje, ludzie się cieszą, że makro działa i nie muszą mozolnie nagrywać gotowych plików ręcznie, a że nie jest eleganckie? Cóż z czasem pewnie będzie.
Jeszcze raz dziękuję za parametr Local: :)
napisał: jalamas
postów: 316


umieszczony:
16 lutego 2007
09:51

  
Cytat:

nie mamy pewności co zrobił
nasz ukochany user w ustawieniach i należałoby je sprawdzać,
a wymuszanie ustawień nie jest właściwą praktyką

I gdybym to ja zamówiła u Ciebie tę aplikację,
a Ty byś na moim kompie spróbował taki numerek zrobić i przestawić tenże
separatorek lub cokolwiek innego bez istotnej potrzeby i zapytania mnie
z "dużą ostrzegającą informacją" o zdanie, to wiecej byś się do mojego kompa nie mógł zbliżyć i nie tylko...

Bo przyczyna takiego przestawienia, taka jak tu przedstawiłeś
nie uzasadnia grzebania userowi po ustawieniach.

Ponieważ jutro on pisząc z kolei swój XlS i opierając się o podobną ideę będzie chciał akurat przecinek...
Tyle tylko, że to jego komp i on tylko ma prawo robić to co chce....
Tylko może będzie mądrzejszy i grzecznie najpierw wykona
(GetLocaleInfo+GetUserDefaultLCID%+Const LOCALE_SLIST = &HC, i inne ...)

To piszący aplikację ma się dostosować do usera, jak majster do moich wymagań przy remoncie mieszkania.

Co by to było gdyby każdy ściagnięty dla obejrzenia xls z sieci tak majstrował !!!!!!!!!!!!!!
Mój komp , moja twierdza.... ja protesuję, to moje narzędzie pracy.
napisał: koffers
postów: 10


umieszczony:
16 lutego 2007
08:09

  
O tym co jest separatorem kolumn, jeśli przy SaveAs dodamy parametr Local:=True, decydują ustawienia regionalne systemu, a konkretnie Separator listy w oknie Dostosuj opcje regionalne > zakładka: Liczby.
Ja mam różne konfiguracje komputerów (2000, XP, różne wersje Office) i wystarczy, że wszędzie w tej opcji ustawię średnik i wszystko działa jak trzeba.
napisał: jalamas
postów: 316


umieszczony:
15 lutego 2007
10:49

  
Uważaj, bo u mnie --> Office XP (+WIN XP SP2) mimo Local:=True
ustawienia właśnie nie są brane pod uwagę (mimo ";")
i jest dokładnie tak jak to przedtem opisałeś.
Dlatego szukałam w sieci po przeczytaniu Twojego postu....
napisał: koffers
postów: 10


umieszczony:
15 lutego 2007
10:18

  
Hej

Rzeczy najprostsze są najlepsze. Wystarczyło tylko dodać parametr Local:=True, żeby zamiast przecinków pojawiły się średniki.
Dzięki wielkie za naprowadzenie. Ustawienia regionalne były kluczem, który rozwiązuje mój problem.
Pozostałe rozwiązania są interesujące, ale nie mam pewności, czy wynikowy plik będzie zgodny z formatem CSV (MS-DOS) (nie bardzo widzę różnicę pomiędzy CSV Windows a CSV MS-DOS), a ten warunek był najważniejszy, żeby dataport innej aplikacji prawidłowo rozpoznał plik.
Pozdrawiam wszystkich
napisał: jalamas
postów: 316


umieszczony:
14 lutego 2007
22:44

edytowany:
14 lutego 2007
22:45

  
Zaznaczam, że to piszę, są to raczej "roszerzenia przypuszczeń"
Na stronie
http://support.microsoft.com/default.aspx?scid=kb;en-us;288839
wprawdzie uwagi dotyczą innego formatu... itd..., ale ...
Gdyby nawet Local:=True działało, to i tak nie mamy pewności co zrobił
nasz ukochany user w ustawieniach i należałoby je sprawdzać,
a wymuszanie ustawień nie jest właściwą praktyką....

Z ciekawości pusurfowałam w sieci i większość zaleceń to rozwiązania typu:
http://www.cpearson.com/excel/imptext.htm
(2-ga procedura)
a tutaj jest wsio:
http://www.smokeylake.com/excel/text_write_program.htm
pobierz, podejrzy...
Ogólnie mówiąc "automaty i wizardy" często nie spełniają naszych pragnień chociaż ułatwiają życie...
napisał: koffers
postów: 10


umieszczony:
14 lutego 2007
19:27

edytowany:
14 lutego 2007
20:10

  
Witam
Problem:
napisałem małe makro, które po zakończeniu działań powinno zapisać dany plik w tym samym katalogu co plik excela, z tą samą nazwą tylko z rozszerzeniem CSV (MS-DOS). Koniecznie z tym właśnie.
Kiedy robię to ręcznie plik się ładnie zapisuje po udzieleniu przeze mnie odpowiedzi na wątpliwości aplikacji.
Gdy to samo wykonuję makrem:

ActiveWorkbook.SaveAs Filename:= _
"C:\bleble\nazwa.csv", _
FileFormat:=xlCSVMSDOS, CreateBackup:=False



plik zapisuje się w formacie CSV, ale separatorami kolumn nie są średniki tylko przecinki
Dlaczego? Wykonuje przecież te same działania, choć nie pokazują się 2 komunikaty Excela, jeden o tym że tylko 1 arkusz się zapisze, a drugi, że stracę wszystkie funkcje, jeśli takowe istniały.
Chcę na oba pytania odpowiedzić "Tak" automatycznie, ale tego nie umiem napisać :(
Czy można za pomocą makra odpowiedzieć na z góry wiadome ostrzeżenia aplikacji?
Słaby jestem z VBA niemożebnie, proste kody pisać jeno umiem i to zadanie mnie przerasta.
Ktoś pomoże?


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z