Mógłby ktoś wskazać co tutaj robię źle i jakoś naprowadzić?


@MichalBialkovWyludzaNumeryTel: Nic, poza tym, że powinno być Worksheets zamiast Worksheet, ale obstawiam, że to literówka we wpisie, a nie rzeczywistym kodzie. W niektórych pradawnych (2003 czy 2007) wersjach Excela czasami był problem z tym poleceniem - objaw taki jak opisujesz. Jedynym pewnym rozwiązaniem było skopiowanie arkusza do nowego skoroszytu i zapisanie tego nowego skoroszytu. Być może w jakiejś nowszej wersji problem
@MichalBialkovWyludzaNumeryTel:

worksheetS(xxx).saveas....
albo
worksheet.saveas...
przy czym worksheet musi reprezentowac obiekt typu worksheet, np.
activeworksheet.saveas

w ostatecznosci mozna sobie napisac suba w stylu:
dim mojwb as workbook
set mojwb=workbooks.add
thisworkbook.sheets(tutaj twoj sheet).copy before:=mojwb.sheets(1)
mojwb.saveas tutajgdzieinazwapliku

co powinno rozwiazac probem
Pytanie do ekspertow, bo zaraz zwariuje:

w timer co X czasu, jesli jest zaznaczony pewien checkbox, robie screencapture:

captured = New System.Drawing.Bitmap (................
graph = Graphics.FromImage(captured)
graph.CopyFromScreen(........
PictureBox1.Image = captured

I to dziala. Problem w tym, ze zuzycie pamieci wzrasta o 150mb co X czasu, az do wykolejenia sie programu.

Dodalem

captured = Nothing
graph = Nothing

na koncu, zeby gc teoretycznie mogl zrobic swoje, ale to nic nie zmienia.

Sprobowalem dodac
@object: @IJarzi:

dziekuje za odpowiedzi.

Wyrzucilem wszystko i zrobilem od nowa, z innym podejsciem (chyba poprawniejszym).
W skrocie:
- zamiast lokalnych zmiennych - zmienne w klasie formy (bo i tak ich potem uzywam w roznych miejscach): captured, graph, screen i inne sa teraz w class myForm
- przy ladowaniu formy tworze nowa bitmape (raz!) o wielkosci jakiej potrzebuje (aktywnego ekranu - tego z kursorem) i przypisuje do picturebox1.image...
- ...
Wyrzuca mi System.NullReferenceException w Label gdy próbuję przechwycić Value przypisany do pozycji w ComboBoxie. Gdy Label jest ustawiony na kliknięcie, wtedy przechwytuje wartość bez problemu, ale gdy ustawie na TextChanged to wyrzuca mi właśnie ten błąd. Czytałem, że to przez to, że Label chce pokazać wartość zanim cokolwiek zostanie dodane do ComboBoxa, ale nie potrafię tego naprawić tak, żeby Label.Text był odświeżany automatycznie, bez potrzeby klikania w niego. Próbowałem Refresh() i InitializeComponent(),
@croppz: Wiesz może jak prawidłowo używać GetopenFileName ?

filePath = swApp.GetOpenFileName("Wczytaj plik", "C:\TestMakro\MojPlik.htm", Filter, fileOptions, fileConfig, "MojPlik.htm")


Wywala mi to Runtime error 91 i nie mogę znaleźć przyczyny. Jak zmienię coś w kodzie np. dopiszę jakąś zmienną np.

Dim zmiennazdupy as Variant

i uruchomię to się pyta czy zrestartować projekt po czym normalnie makro odpala, ale tylko raz. Potem np. zakomentowuję tą linię ze zmiennązdupy i znów
#programowanie #vba #visualbasic
Taki temat - otwarcie pliku (htm) i następnie jego parsowanie. W pliku jest tekst, linie poziome i tablice z danymi. I na tym ostatnim najbardziej mi zależy. Jakieś przykłady na necie? otworzyć i zamknąć plik przyciskiem na formie już umiem ;)
nie ma w języku polskim słów by opisać wykop


@croppz: Coś by się znalazło ;)

Mam inny problem. Co ciekawe nie występuje ciągle:

Dim filePath As Variant

filePath = GetOpenFileName("Wczytaj plik", "MójPlik.htm", Filter, fileOptions, fileConfig, fileDispName)

Wywołuje Runtime Error 91
Mirki, potrzebuję napisać/zbudować makro w VBA które:

1. Zabezpieczyłoby kilka plików .xls i .xlsx tym samym hasłem, lub
2. Usuwałoby hasła z plików .xls i .xlsx.

Zakładamy że hasło do zabezpieczenia lub 'odbezpieczenia' grupy plików byłoby takie samo. Koncepcję mam taką, że uruchamiam .xlsm z makrem, pojawia się od razu okno które prosi mnie o wybór plików do akcji, i dwa pola (albo zahasłować, albo odhasłować), wklejam hasło i makro zapisuje pliki
Mireczki da się otworzyć plik xls, a jeszcze lepiej csv jako nowy arkusz, przy użyciu #visualbasic

Do otwarcia pliku używam Workbooks.Open filename, jednak plik otwiera się jako nowe okno,a ja chce dane otwierać sobie jako nowe arkusze w moim pliku. Niestety w dokumentacji i internetach nic nie znalazłem, może po prostu źle szukam.
#excel #vba #naukaprogramowania
Witam Mirki!

Jako, że mój poziom excela jest słaby a chciałbym ułatwić sobie pracę, piszę do was w związku z napisaniem prostego macra w excelu. Wyjaśniam co miałby zrobić program.

Chciałbym aby program, wpisywał w kolumny F i G wartość 1, jeżeli w kolumnach A i B, pojawią się wartości (dla przykładu) TOMEK12, TOMEK123, TOMEK1234 TOMEK12345. Poniżej przykład. Zaznaczam, że czasem kolumny A i B sięgają nawet do 1000 wierszy. Puste komórki,
@addwad: Jeśli rzeczywiście oczekujesz na zdarzenie to nie powinno być pętli tylko api powinno udostępniać metody do oczekiwania (await albo eventy w starych .netach).

Odpytywanie czegoś w odstępie 1ms jest co najmniej dziwne i pewnie nieefektywne.
Robi ci róznica 1ms a 100ms?
@Boleslaw_Smiszny: najprostszą opcją chyba byłoby zrobić dokument ze wszystkimi możliwymi paragrafami, pod jakiś guzik podpiąć kopiowanie tego do nowego pliku i ustawianie niepotrzebnym częściom hidden = true.
Czołem Mireczki, mam kolejne pytanie związane z excelem.

Dzięki Waszej pomocy udało mi się już doprowadzić tytuły produktów do poniższej formy:

Łopata Metalowa 31 x 132 cm Geolia
Biowin Tanina do Win 5 G
Biowin Korek do Balonu śr. 42mm Z Zamknięciem
Pułapka na Mole do Szafy I Kuchenne Spożwycze
Agrecol Płyn Środek Ochronny Roslin na Mszyce 0,6L
Zestaw naprawczy Sznur 11mm + Klej 29G

Pozostaje jeszcze kwestia zajęcia się pojedynczymi łącznikami
via Wykop Mobilny (Android)
  • 1
@tambus: czy ty robisz jakieś płatne zlecenie dla leroy merlin i męczysz mirko od kilku dni żeby robili za Ciebie? ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
Mireczki od razu przepraszam, jeśli to za mało na tag programowanie :)

Mam do obrobienia spora ilość danych w excelu. Tym razem pytanie związane z kolumną, w której znajdują się tytuły produktów. Wygląda to przykładowo tak:

Lakier farba SPRAY róż LUXENS z połyskiem 0,35l
METALIZOWANY Lakier SPRAY ZŁOTY farba 0,35l
PÓŁMATOWY LAKIER Spray czarna DUPLI-COLOR

Chciałbym masowo przekształcić te tytuły w taki sposób by, wszystkie słowa napisane z wielkich liter zamieniły się
@tambus:
Czemu "róż" i "czarna" są z małej litery, ale "Złoty" już wielką?
Tak samo -- czemu "Spray", "Lakier", ale "farba" czy "połysk" ale "Półmatowy" i "Metalizowany"?
Jak szyjesz tu logikę?
Mireczki od razu przepraszam, jeśli to za mało na tag programowanie :)

Mam szybkie pytanie związane z makrami w excelu.
Mam kilka tysięcy wierszy, każdy z nich to opis produktu i różne jego parametry. Jedna z kolumn o nazwie "opis" posiada np. taką zawartość:
"

Wspornik 13 cm UNFLOR

Długość (w cm): 12

Materiał główny: metal

Nazwa produktu Wspornik ścienny

W zestawie: wspornik ścienny - 1 szt.


[EU] -218736128373ssss[/EU]

Dowód zakupu zawsze