Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA - schwek i tekst z Excel'a 2000

25 Lis 2006 00:11 4001 6
  • Poziom 26  
    Witam!

    Zacząłem swoją przygodę z VBA i na początek postanowiłem napisać (nagrać) prostą aplikację w Excelu. Po krótce można opisać jej działanie tak: Uruchomić makro, które otworzy, wyczyści schowek i załaduje do niego kilka ciągów znaków tekstowych, a następnie zamknie ten arkusz.
    Arkusz wraz z makrem w załączniku.
    Nie wszystko się udało tak jak bym sobie tego życzył, ale po kolei:

    1) Nie mogę utworzyć polecenia czyszczenia schowka po jego otwarciu.
    Chcę go obowiązkowo wyczyścić, gdyż mogą się tam znajdować jakieś elementy.

    2) Arkusz kopiuje do schowka "całą" komórkę, a ja chciałbym tylko jej zawartość tekstową. Problem polega na tym, że będę te elementy ze schowka wklejał do jednej komórki, a przy takim kopiowaniu po wklejeniu danego elementu w trybie edycji komórki (naciśnięcie F2 po zaznaczeniu komórki) program automatycznie zawija tekst - zachowanie nieporządane , aczkolwiek w ostateczności do zaakceptowania (każdorazowo trzeba będzie używać "Backspace").

    3) Przy zamykaniu arkusza powinien sam zanaczyć opcję niezapisywania zmian.

    Po tym tekście wyszło, że ktoś ma to napisać za mnie :D.

    Z pliku pomocy na pewno bym skorzystał, gdyby był :!:, niestety jest tylko "help", a to już znacznie gorzej.

    Pozdrawiam

    Jan
  • Pomocny post
    Poziom 29  
    jdjan1 napisał:

    Nie mogę utworzyć polecenia czyszczenia schowka po jego otwarciu.
    Chcę go obowiązkowo wyczyścić, gdyż mogą się tam znajdować jakieś elementy


    Robi się to linijką:
    Application.CommandBars("Clipboard").Controls(4).Execute

    jdjan1 napisał:

    Arkusz kopiuje do schowka "całą" komórkę, a ja chciałbym tylko jej zawartość tekstową.


    Jak świat światem to zawsze kopiuje do schowka zawartość komórki, to co w niej jest, a nie inne "kwiatki".

    jdjan1 napisał:

    Przy zamykaniu arkusza powinien sam zanaczyć opcję niezapisywania zmian.

    Sprawę załatwia:
    ActiveWorkbook.Close saveChanges:=False

    jdjan1 napisał:

    Z pliku pomocy na pewno bym skorzystał, gdyby był :!:, niestety jest tylko "help", a to już znacznie gorzej.

    Niewierzę. Zawsze myslałem że help i pomoc to to samo. W VBA bezpośrednio pomoc mozna uzyskać posługując się klawiszem F1 lub Ctrl+F1

    Pozdrówka
  • Poziom 26  
    Witam!

    Polecenie czyszczenia schowka działa, ale tylko wtedy, gdy w schowku znajduje się jakikolwiek element. Jeżeli schowek przy otwieraniu jest pusty, program generuje błąd
    VBA - schwek i tekst z Excel'a 2000
    W kwestii kopiowania do schowka zawartości komórki nie zrozumieliśmy się (jak sądzę) dokładnie.
    Przy pracy z arkuszem można na pasku formuły lub naciskając F2 zaznaczyć i skopiować do schowka fragment zawartości komórki, czy jak Kolega woli "inne kwiatki" - można sprawdzić. Makro jednak w czasie nagrywania nie rejestruje tej czynności.
    Cytat:
    Niewierzę. Zawsze myslałem że help i pomoc to to samo.

    Odpowiadam:
    Cytat:
    Zawsze myslałem że help i pomoc to to samo.

    Nie wierzę. :)

    Na razie dziękuję - posunąłem się o jeden problem do przodu.

    Pozdrawiam

    Jan
  • Poziom 29  
    Trudno aby usuwać coś czego nie ma. nalezy sobie napisać procedurę która "wyczuje" taka okoliczność i np. wysle komunikat na ekran, że schowek jest pusty.

    Rejestrator makr nie jest remedium na wszystkie problemy, mało tego, tworzy czasem taki kod że włos na głowie staje. Jest to mocno ograniczone narzędzie mające na celu pomoc w wykonywaniu prostych czynności a nie załatwiać robotę za programiste. Sposób jaki kolega podaje, na pobieranie danych z linii poleceń, świadczy o nieznajomości Excela, niestety. Do takich czynności służą, z poziomu VBA i nie tylko ( Excel ma kopalnie funkcji ), polecenia obsługi łańcuchów znaków.

    W polskiej wersji Excela plik pomocy, w języku polskim, obsługuje tylko arkusz kalkulacyjny. Edytor VBA jest tylko w języku Angielskim i plik help jast rowniez w tym jezyku.

    Pozdrówka
  • Poziom 26  
    Witam!

    Kolego bobo post tej treści jest nabijaniem punktów.
    Lepiej było go nie pisać. Na sposób sprawdzenia zawartości schowka schowka też wpadłem, z tą różnicą, że po wykryciu, że schowek jest pusty nie uruchamiałbym polecenia czyszczenia - pytanie brzmi jednak JAK?
    Z tą nieznajomością obsługi arkusza - to przemyślałbym stwierdzenie.
    Tego typu "porady" proszę pozostawić do własnej wiadomości. Tylko ludzie o znikomym poziomie wiedzy nie mają żadnych pytań i wszystko uznają za proste.

    Pozdrawiam

    Jan
  • Poziom 29  
    Bardzo przepraszam że wogóle osmieliłem się napisać posty w tym temacie i tym samym zepsuć koledze dobre samopoczucie. Pewnie gdybym napisał gotowca, rozwiazując problem kolegi, mogłbym liczyć na pogłaskanie po głowie, a tak zostałem ......
    Co do punktów, to jak zapewne kolega zuwazyl nie mam pazernego cisnienia na ich pozyskiwanie. Zresztą jeżeli ta kwestia jest aż tak kluczowa, to proszę Moderatora o odjęcie mi z puli z 10pkt, albo 500, a co tam, pocierpię.
    Pozdrowka
  • Użytkownik usunął konto