<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi w Visual Basic</title>
<link>https://forum.pasja-informatyki.pl/qa/programowanie/visual-basic</link>
<description>Powered by Question2Answer</description>
<item>
<title>Odpowiedź: dostosowywanie środowiska ścieżki podczas instalacji git</title>
<link>https://forum.pasja-informatyki.pl/592734/dostosowywanie-srodowiska-sciezki-podczas-instalacji-git?show=592736#a592736</link>
<description>

&lt;blockquote&gt;


&lt;p&gt;którą opcję wybrać&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Jak nie wiesz to rekomendowaną :P Jest na czerwono zaznaczone.&lt;/p&gt;



&lt;blockquote&gt;


&lt;p&gt;Z drugiej strony podobno narzędzia do uniksa są lepsze od tych w git,&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;(A tego stwierdzenia nie rozumiem, AFAIK instalacja gita zawiera dosłownie windowsowe porty prostych narzędzi z gnu, więc to... to samo?)&lt;/p&gt;



&lt;p&gt;Jak chcesz developować w środowisku unixowym, to używaj VMkę z linuxem (lub bezpośrednio linuxa/maca) zamiast udawać że windows nim jest.&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592734/dostosowywanie-srodowiska-sciezki-podczas-instalacji-git?show=592736#a592736</guid>
<pubDate>Wed, 10 Apr 2024 15:26:05 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Jak efektywnie stosować Web Scraping przy pomocy VBA: Omijanie trudności</title>
<link>https://forum.pasja-informatyki.pl/592463/jak-efektywnie-stosowac-web-scraping-przy-pomocy-vba-omijanie-trudnosci?show=592665#a592665</link>
<description>

&lt;p&gt;Odpowiem z innej bajki, jednak odpowiedź będzie merytorycznie WebScrappingu, więc proszę aby zechciał Pan przeczytać do końca z przymrużonym okiem. Osobiście polecam WebScrapping wykonywać w językach, które posiadają pełne do tego wsparcie ( bezpośrednie - mają gotowe klasy, metody i pośrednie - zbudowane przez społeczność narzędzia, biblioteki, frameworki ). WebScrapping to metoda dostania się do danych, pobrania danych, przedostania się dalej, pobrania kolejnych danych i cały czas, aż do osiągnięcia celu.
&lt;br&gt;

&lt;br&gt;
VBA nie został stworzony z myślą o WebScrappingu. To jest języka Event-Driven Programming Language. To oznacza, ze jest językiem w większości nasłuchującym do obsługi wydarzeń. Oczywiście można w nim pisać dużo ciekawych rzeczy, tak samo jak da się zrobić grilla w nierdzewnym bębnie od pralki - ale jak sam Pan wie, bęben służy do prania w pralce - dopiero kiedy osiąga status złomu, ludzie wycinają otwór i smażą tam kiełbasy ( serio ).
&lt;br&gt;

&lt;br&gt;
Połączeniem niezawodnym, które stosuję zawodowo od lat jest zestaw dwóch narzędzi jest:&lt;/p&gt;



&lt;ol&gt;
	

&lt;li&gt;Python + Selenium + Scrapy&lt;/li&gt;
	

&lt;li&gt;PyTest + Playwright.&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;WebScrapping - zresztą każdy scrapping, obróbka danych, konwersja - to czysta przyjemność. Próg wejścia nie jest najniższy, ale tez nie jest ultra wysoki.&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/592463/jak-efektywnie-stosowac-web-scraping-przy-pomocy-vba-omijanie-trudnosci?show=592665#a592665</guid>
<pubDate>Mon, 08 Apr 2024 11:42:59 +0000</pubDate>
</item>
<item>
<title>zmienne C23 w VB flexreport</title>
<link>https://forum.pasja-informatyki.pl/588398/zmienne-c23-w-vb-flexreport</link>
<description>

&lt;p&gt;Hej,&lt;/p&gt;



&lt;p&gt;Mam taki temat, chciałbym zacząć używać programu flexreport. Program ten czyta raporty z innego softu, następnie je wypluwa do notatnika w wersji, którą mogę później obrabiać.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Cały problem polega na tym, że w skrypcie poniżej jest zawarta informacja o zmienne C23, pod którą mam zapisywany czas oraz datę. Oprogramowanie flexreport, działa maksymalnie do zmiennej C20. Tu pojawia się całe pytanie, w jaki sposób w poniższym skrypcie mogę zmienić zmienną C23 na np. C6?&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Poniżej skrypt:&lt;/p&gt;



&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://pastebin.com/q1H6uApt&quot;&gt;Option ExplicitDim App As ObjectDim Prg As ObjectDim Cmds As ObjectD - Pastebin.com&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;A poniżej przedstawiam to co program mi wyrzuca na podstawie tego kodu, tutaj chciałbym C23 zmienić na C5&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
C1=002439001655
C2=
C3=3
C4=Z:\02 Quality- Jakosc\034 CMM\Programs\Stab Bar 002439001654-1655\002439001655.PRG
C21=2023.02.14
C22=09:10:53
C23=2023.02.14 09:10:53
$END$
$--------------- &amp;lt; &amp;gt; ---------------
          ,FLAT1,0,FLT,0,0.2,0,0.012320981849006,0,0
          ,FLAT2,0,FLT,0,0.2,0,0.027371382239777,0,0
          ,LOC1,0,Z,49.999999999993,0.5,-0.5,50.324993383917,0,0
          ,LOC2,0,X,-57,0.3,-0.3,-57.083164766349,0,0
          ,LOC3,0,X,-74.4,0.5,-0.5,-74.75808622487,0,0
          ,DIST2,0,DISTX,50,0.5,-0.5,49.865254545637,0,0
          ,LOC4,0,R,25,0.5,-0.5,24.892831679233,0,0
          ,DIST7,0,DISTY,62,0.5,-0.5,62.247936452137,0,0
          ,DIST6,0,DISTY,62.6,0.5,-0.5,62.745123770393,0,0
          ,DIST3,0,DISTY,72.6,0.5,-0.5,72.56297611976,0,0
          ,DIST5,0,DISTY,72.6,0.5,-0.5,72.925760999055,0,0
          ,LOC5,0,Y,41.299999999998,0.5,-0.5,41.834720374188,0,0
          ,LOC6,0,Y,-31.300000000002,0.5,-0.5,-31.091040624867,0,0
          ,LOC7,0,Y,-19.300000000002,0.2,-0.2,-19.130126516999,0,0
          ,ANGL7,0,ANG2D,90,1,-1,89.714769504413,0,0
          ,ANGL8,0,ANG2D,89.2,1,-1,89.161111646837,0,0
          ,LOC8,0,X,-17.000000000006,0.3,-0.3,-16.963526148359,0,0
          ,LOC8,0,Z,51.800000000005,0.3,-0.3,51.925159496221,0,0
          ,LOC8,0,D,19,0.3,0,19.228953986031,0,0
          ,LOC9,0,D,12.2,0.25,-0.05,12.32423342264,0,0
          ,LOC10,0,X,-60,0,0,-60.158193932458,1,1
          ,LOC10,0,Z,22.7,0,0,22.800437617394,1,2
          ,LOC10,0,TP,0,0.5,0,0.37476945048577,1,0
          ,ANGL6,0,ANG3D,5.7,0.5,-0.5,6.1814236718784,0,0
          ,DIST1,0,DIST2D,76,1,-1,77.376993848876,0,0
          , 19_DUVAR,0,R,27,0.45,-0.45,27.583810386689,0,0
          ,DUZ_DUVAR,0,R,27,0.45,-0.45,27.030806226465,0,0
          ,DIST4,0,DISTX,51.1,0.2,-0.2,51.06583331568,0,0
$END$&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;dzięki za pomoc!&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/588398/zmienne-c23-w-vb-flexreport</guid>
<pubDate>Sat, 30 Sep 2023 07:58:52 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Dlaczego makro nie działa w komórce</title>
<link>https://forum.pasja-informatyki.pl/588170/dlaczego-makro-nie-dziala-w-komorce?show=588177#a588177</link>
<description>

&lt;p&gt;Proponuje drugi parametr dla&amp;nbsp;&lt;strong&gt;Weekday&lt;/strong&gt;&amp;nbsp;zostawić pusty, czyli &lt;strong&gt;vba&lt;/strong&gt; użyje wartości domyślnej dla ustawień systemowych komputera&amp;nbsp;i dla lepszej czytelności kodu proponuje użyć stałych &lt;strong&gt;vba vbSaturday &lt;/strong&gt;i &lt;strong&gt;vbSunday&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub blokujDate()
    Dim cellValue As Date
    Dim dayOfWeek As Integer

    ' Pobierz wartość z komórki C16 jako datę
    cellValue = Range(&quot;C16&quot;).Value

    ' Sprawdź, który to dzień tygodnia (1 - nie, 2 - pon, ..., 7 - sob)
    dayOfWeek = Weekday(cellValue)

    ' Sprawdź, czy to sobota lub niedziela
    If dayOfWeek = vbSaturday Or dayOfWeek = vbSunday Then
        MsgBox &quot;Wpisałeś dzień niepracujący (&quot; &amp;amp; Format(cellValue, &quot;dddd&quot;) &amp;amp; &quot;) !!!&quot;
    End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = &quot;$C$16&quot; Then
        Call blokujDate
    End If
End Sub&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/588170/dlaczego-makro-nie-dziala-w-komorce?show=588177#a588177</guid>
<pubDate>Thu, 21 Sep 2023 13:40:44 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Wstawienie nowej linii do makro</title>
<link>https://forum.pasja-informatyki.pl/588127/wstawienie-nowej-linii-do-makro?show=588134#a588134</link>
<description>

&lt;p&gt;Spróbuj zapisać to tak, że będziesz po każdym kopiowanym wierszu, opuszczał kolejny wiersz w docelowym arkuszu.&lt;/p&gt;



&lt;pre class=&quot;brush:vb;highlight:[22];&quot;&gt;
Private Sub Generuj_Click() 
  Dim i As Integer
  Dim j As Integer
  Dim k As Integer
  Dim h As Integer
 
  table = Range(&quot;E5&quot;, Range(&quot;F5&quot;).End(xlDown)).Rows.Count
  Range(&quot;E5&quot;, Range(&quot;F5&quot;).End(xlDown)).Select
 
  'Range(&quot;E5&quot;).Select
  j = 1
  k = 4
 
  ActiveSheet.Shapes.AddShape(msoShapeRectangle, 15, 15, 100, 50).Select
 
  For i = 1 To table
    Worksheets(&quot;Spolki&quot;).Cells(i + 4, j + 8) = &quot;Inwestycja w spółkę &quot; &amp;amp; Worksheets(&quot;Spolki&quot;).Cells(RowIndex:=k + 1, ColumnIndex:=5) &amp;amp; _
                                               &quot; w kwocie przypadającej na PFR &quot; &amp;amp; Worksheets(&quot;Dashboard&quot;).Range(&quot;C3&quot;) &amp;amp; &quot; FIZ: &quot; &amp;amp; _
                                               Worksheets(&quot;Spolki&quot;).Cells(RowIndex:=k + 1, ColumnIndex:=6) &amp;amp; &quot; &quot; &amp;amp; Worksheets(&quot;Dashboard&quot;).Range(&quot;C9&quot;) ' &amp;amp; vbNewLine
 
    Application.ScreenUpdating = True
    k = k + 2
  Next i 
End Sub
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/588127/wstawienie-nowej-linii-do-makro?show=588134#a588134</guid>
<pubDate>Wed, 20 Sep 2023 10:03:03 +0000</pubDate>
</item>
<item>
<title>Dynamiczna iteracja po nr rzędu</title>
<link>https://forum.pasja-informatyki.pl/588091/dynamiczna-iteracja-po-nr-rzedu</link>
<description>

&lt;p&gt;Cześć, piszę kod, który ma czytać zawartość tabelki (dla przykładu - wypełnionych 5 rzędów) i wkleić treść od komórki&amp;nbsp;H5 w dół, w zależności od ilości wypełnionych wierszy.(zdjęcie dla przykładu)&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=8963637659196323155&quot; style=&quot;height:152px; width:550px&quot;&gt;&lt;/p&gt;



&lt;p&gt;Mój kod wygląda tak. Na razie generowanie tesktu rozpoczyna się z komórki H5.&lt;/p&gt;



&lt;p&gt;Nie do końca wiem jak napisać aby generowanie rozpoczynało się od H5 i szło w dół tyle ile jest wierszy w tabeli. Dodatkowo, są odwołania na sztywno do 5. wiersza, a docelowo miałyby się zmieniać w zależności od rzędu&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
 Private Sub Generuj_Click()

Dim i As Integer

table = Range(&quot;E5&quot;, Range(&quot;F5&quot;).End(xlDown)).Rows.Count
Range(&quot;E5&quot;, Range(&quot;F5&quot;).End(xlDown)).Select

'Range(&quot;E5&quot;).Select

For i = 1 To table
    Range(&quot;H5&quot;).Select
    'Text = Range(&quot;H5&quot;, Range(&quot;H5&quot;).End(xlDown)).Rows.Count
    Range(&quot;H5&quot;) = &quot;Inwestycja w spółkę &quot; &amp;amp; Worksheets(&quot;Spolki&quot;).Range(&quot;E5&quot;) &amp;amp; &quot; w kwocie przypadającej na PFR &quot; &amp;amp; Worksheets(&quot;Dashboard&quot;).Range(&quot;C3&quot;) &amp;amp; &quot; FIZ: &quot; &amp;amp; Worksheets(&quot;Spolki&quot;).Range(&quot;F5&quot;) &amp;amp; &quot; &quot; &amp;amp; Worksheets(&quot;Dashboard&quot;).Range(&quot;C9&quot;)

Next i

Application.ScreenUpdating = True

End Sub&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/588091/dynamiczna-iteracja-po-nr-rzedu</guid>
<pubDate>Tue, 19 Sep 2023 09:27:35 +0000</pubDate>
</item>
<item>
<title>Stworzenie makra w Access, które pobiera plik z Exela i zaczytuje jego dane</title>
<link>https://forum.pasja-informatyki.pl/585003/stworzenie-makra-w-access-ktore-pobiera-plik-z-exela-i-zaczytuje-jego-dane</link>
<description>

&lt;p&gt;Cześć,&amp;nbsp;&lt;/p&gt;



&lt;p&gt;chciałbym nieco zoptymalizować u siebie&amp;nbsp;proces, mianowicie codziennie wpada mi raport na zasób sieciowy w formie zwykłego rozszerzenia exela. Filtruje konkretne kolumny, kopiuje dane ,potem zapisuje w csv i ładuje na maszynę do wykonania.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Chciałbym w Access zrobić makro, które samodzielnie będzie pobierać plik z zasobu, wykonywał zapisane kwarendy i zapisywał formie zwykłego exela , chyba da się zapisać bezpośredniego w csv.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Kwarendy zrobiłem w SQL i wpiąłem do Accessowego makra - wyszukuje się poprawnie, ale rozbija wyszukiwanie na każdą kwarendę osobno , a nie scala w jedno - to pierwszy problem.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Drugi z którym walczę, to napisanie makra aby otwierał i pobierał dane z konkretnej lokalizacji - ale wywala błędy.&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub OtworzPlikExcel()



&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim excelApp As Object

&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim excelWorkbook As Object

&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim excelWorksheet As Object

&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim filePath As String

&amp;nbsp;&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Ścieżka do pliku Excel

&amp;nbsp;&amp;nbsp;&amp;nbsp; filePath = &quot;C:\ścieżka\do\pliku.xlsx&quot;

&amp;nbsp;&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Utwórz nową instancję aplikacji Excel

&amp;nbsp;&amp;nbsp;&amp;nbsp; Set excelApp = CreateObject(&quot;Excel.Application&quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Wyłącz wyświetlanie okna Excela

&amp;nbsp;&amp;nbsp;&amp;nbsp; excelApp.Visible = False

&amp;nbsp;&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Otwórz plik Excel

&amp;nbsp;&amp;nbsp;&amp;nbsp; Set excelWorkbook = excelApp.Workbooks.Open(filePath - ścieżka pliku)

&amp;nbsp;&amp;nbsp;&amp;nbsp; Set excelWorksheet = excelWorkbook.Sheets(&quot;Nazwa_arkusza&quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Pobierz dane z arkusza Excel do Access

&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim wartość As Variant

&amp;nbsp;&amp;nbsp;&amp;nbsp; wartość = excelWorksheet.Range(&quot;A1&quot;).Value - załóżmy że zakres to od A1 ;&amp;nbsp;A600 do X1 ; X600
chociaż nie wiem czy tutaj nie można użyć in selection?&amp;nbsp;

&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Zamknij plik Excel

&amp;nbsp;&amp;nbsp;&amp;nbsp; excelWorkbook.Close

&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Zamknij aplikację Excel

&amp;nbsp;&amp;nbsp;&amp;nbsp; excelApp.Quit

End Sub&lt;/pre&gt;



&lt;p&gt;i w sumie już na początku jest błąd - error 429 - activeX component cant create object&lt;/p&gt;



&lt;p&gt;pominąłem tworzenie zatem instancji i wtedy pojawia się taki błąd:&lt;/p&gt;



&lt;p&gt;error 91 - object variable or With block variable not set - co pewnie wywołuję się przez to że nie ma obiektu.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;I nie wiem jak się za to zabrać. Jakieś pomysły?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/585003/stworzenie-makra-w-access-ktore-pobiera-plik-z-exela-i-zaczytuje-jego-dane</guid>
<pubDate>Fri, 19 May 2023 13:40:46 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: VBA i tabela przestawna</title>
<link>https://forum.pasja-informatyki.pl/572428/vba-i-tabela-przestawna?show=572639#a572639</link>
<description>

&lt;p&gt;Sprawdź czy Twoja składnia&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://learn.microsoft.com/en-us/office/vba/api/excel.sheets.add&quot;&gt;&lt;strong&gt;Sheets.Add&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;jest prawidłowa.&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/572428/vba-i-tabela-przestawna?show=572639#a572639</guid>
<pubDate>Sat, 01 Oct 2022 20:46:38 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Excel / Access VBA - nazwa aktualnej sieci</title>
<link>https://forum.pasja-informatyki.pl/571397/excel-access-vba-nazwa-aktualnej-sieci?show=571440#a571440</link>
<description>

&lt;p&gt;Możesz np. z poziomu &lt;strong&gt;VBA &lt;/strong&gt;(Excel / Access) uruchomić polecenie &lt;strong&gt;dos&lt;/strong&gt;-owe: &lt;a href=&quot;https://www.ionos.com/digitalguide/server/tools/netsh/&quot; rel=&quot;nofollow&quot;&gt;netsh&lt;/a&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:bash;&quot;&gt;
netsh wlan show networks mode=bssid&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=15156172052293352628&quot; style=&quot;height:358px; width:446px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;przykład&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Option Explicit

Sub wifi() ' przykładowa nazwa makra
    Dim objShell, objShellExec As Variant
    Dim strCmd, strOutput As String
    
    Set objShell = CreateObject(&quot;WScript.Shell&quot;)
    
    strCmd = &quot;netsh wlan show networks mode=bssid&quot;
    Set objShellExec = objShell.Exec(strCmd)

    strOutput = objShellExec.StdOut.ReadAll
    
    If Not strOutput = vbNullString Then
        Dim intIndex As Integer, arrOutput() As String
        
        MsgBox (strOutput)
        arrOutput = removeEmptyLines(strOutput)
        
        MsgBox arrOutput(2) ' nazwa sieci
        
        'For intIndex = 0 To UBound(arrOutput)
        '    MsgBox arrOutput(intIndex)
        'Next
    End If
End Sub

Function removeEmptyLines(strIn As String) As Variant
    If Len(strIn) &amp;gt; 0 Then
        Dim intIndex As Integer, strTemp, arrTemp() As String
        
        arrTemp = Split(strIn, vbNewLine)
        
        For intIndex = 0 To UBound(arrTemp)
            If Not Trim(arrTemp(intIndex)) = vbNullString Then
                strTemp = strTemp &amp;amp; arrTemp(intIndex) &amp;amp; &quot;;&quot;
            End If
        Next
        
        If Right(strTemp, 1) = &quot;;&quot; Then strTemp = Left(strTemp, Len(strTemp) - 1)
        removeEmptyLines = Split(strTemp, &quot;;&quot;)
    Else
        removeEmptyLines = Empty
    End If
End Function&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Sprawdź też:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://stackoverflow.com/questions/36297043/access-vba-obtain-wireless-network-name-connected&quot;&gt;VBA - Obtain Wireless Network Name (Connected)&lt;/a&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/571397/excel-access-vba-nazwa-aktualnej-sieci?show=571440#a571440</guid>
<pubDate>Fri, 02 Sep 2022 00:00:38 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Wyciąganie danych z sieci Web</title>
<link>https://forum.pasja-informatyki.pl/569760/wyciaganie-danych-z-sieci-web?show=569782#a569782</link>
<description>

&lt;p&gt;W podanym przez Ciebie &lt;a href=&quot;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI&quot; rel=&quot;nofollow&quot;&gt;linku&lt;/a&gt;, kolejne podstrony różnią się ostatnią cyfrą (przecinek i cyfra)&lt;/p&gt;



&lt;p&gt;1 strona:&amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI&quot; rel=&quot;nofollow&quot;&gt;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI&lt;/a&gt;
&lt;br&gt;
2 strona:&amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI,2&quot; rel=&quot;nofollow&quot;&gt;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI&lt;span style=&quot;color:#ff0000&quot;&gt;,2&lt;/span&gt;&lt;/a&gt;
&lt;br&gt;
3 strona:&amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI,3&quot; rel=&quot;nofollow&quot;&gt;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI&lt;span style=&quot;color:#ff0000&quot;&gt;,3&lt;/span&gt;&lt;/a&gt;&amp;nbsp; &amp;nbsp;itd.&lt;/p&gt;



&lt;p&gt;dla strony 1 możesz ustawić&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI,1&quot; rel=&quot;nofollow&quot;&gt;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI&lt;span style=&quot;color:#ff0000&quot;&gt;,1&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;więc kod, ze strony (chodzi o linię 13)&lt;/p&gt;



&lt;blockquote&gt;


&lt;p&gt;Czytałem trochę o robieniu pętli makro (&lt;a href=&quot;https://tomaszkenig.pl/excel/vba-pobierac-dane-ze-stron-web-excel/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;&quot;&gt;tutaj link do wpisu&lt;/a&gt;)&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;highlight:[13];&quot;&gt;
Sub ImportStronWeb()
'
' ImportStronWeb Makro
'
 
'
 
Dim intLicznik As Long
intlicznikpodstron = 1 'np 8 podstron
intLicznikWierszy = 1 'np kolejne dane w odstępie 500 wierszy
 
Do While intlicznikpodstron &amp;lt; 8
    With ActiveSheet.QueryTables.Add(Connection:=&quot;URL;https://tomaszkenig.pl/page/&quot; &amp;amp; intlicznikpodstron &amp;amp; &quot;/&quot;, _
    ' reszta kodu&lt;/pre&gt;
&lt;/blockquote&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;zamień&amp;nbsp; np. tak&lt;/p&gt;



&lt;pre class=&quot;brush:vb;highlight:[13];&quot;&gt;
Sub ImportStronWeb()
'
' ImportStronWeb Makro
'
 
'
 
Dim intLicznik As Long
intlicznikpodstron = 1 'np 8 podstron
intLicznikWierszy = 1 'np kolejne dane w odstępie 500 wierszy
 
Do While intlicznikpodstron &amp;lt; 8
    With ActiveSheet.QueryTables.Add(Connection:=&quot;URL;https://www.biznesradar.pl/notowania-historyczne/NNDN25.TFI,&quot; &amp;amp; intlicznikpodstron, _
    ' reszta kodu&lt;/pre&gt;



&lt;p&gt;oczywiście wartości dla zmiennych:&amp;nbsp;&lt;strong&gt;intlicznikpodstron&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;intLicznikWierszy&lt;/strong&gt;&amp;nbsp; ustaw według własnych potrzeb.&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/569760/wyciaganie-danych-z-sieci-web?show=569782#a569782</guid>
<pubDate>Wed, 20 Jul 2022 21:59:58 +0000</pubDate>
</item>
<item>
<title>Visual Basic - zapisywanie ustawień</title>
<link>https://forum.pasja-informatyki.pl/568087/visual-basic-zapisywanie-ustawien</link>
<description>Cześć. Jestem mega początkujący więc wiadomo...&lt;br /&gt;
&lt;br /&gt;
Pisze programik, który ma dwa przyciski. Jeden z nich otwiera okno explorera i w nim wskazuję lokalizację folderu na dysku. Po wybraniu folderu, program powinien zapisać sobie wskazaną lokalizację po to, aby drugi przycisk otwierał ten folder.&lt;br /&gt;
&lt;br /&gt;
Probel mam z tym że program nie zapisuje mi ustawień i od razu się wywala. Nie działa u mnie taki kod:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;My.Settings.ZMIENNA = SelectedPath&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;My.Settings.Save()</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/568087/visual-basic-zapisywanie-ustawien</guid>
<pubDate>Tue, 14 Jun 2022 12:00:10 +0000</pubDate>
</item>
<item>
<title>dynamicznej zmiany MySettings użytkownika w aplikacji internetowej</title>
<link>https://forum.pasja-informatyki.pl/566100/dynamicznej-zmiany-mysettings-uzytkownika-w-aplikacji-internetowej</link>
<description>

&lt;p&gt;Chcę w aplikacji internetowej pisanej w vb.net zapisywać ustawienia użytkownika (np. kolor tła) w MySettings. Bez problemu w zakładce Projekt/Właściwości/Ustawienia mogę dodać nazwę zmiennej w polu &lt;strong&gt;Nazwa&lt;/strong&gt;, typ zmiennej w polu &lt;strong&gt;Typ&lt;/strong&gt; i wartość zmiennej w polu &lt;strong&gt;Wartość&lt;/strong&gt;, ale nie mogę zmienić zakresu w polu &lt;strong&gt;Zakres&amp;nbsp;&lt;/strong&gt;z Aplikacja na Użytkownik, co uniemożliwia dynamiczne zmiany ustawień w trakcie działania aplikacji gdyż zmienna jest wówczas tylko do odczytu. Zapewne trzeba coś zmienić w ustawieniach Microsoft Visual Studio 2022. Czy macie jakiś pomysł?&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/566100/dynamicznej-zmiany-mysettings-uzytkownika-w-aplikacji-internetowej</guid>
<pubDate>Tue, 10 May 2022 16:56:11 +0000</pubDate>
</item>
<item>
<title>Automatyczne aktualizowanie danych dla innych użytkowników</title>
<link>https://forum.pasja-informatyki.pl/563406/automatyczne-aktualizowanie-danych-dla-innych-uzytkownikow</link>
<description>Witam, stworzyłem makro w Excelu, które nieco automatyzuje prace. Czy ktoś byłby mi w stanie powiedzieć w jaki sposób mógłbym udostępnić ten plik innemu użytkownikowi tak aby każda zmiana w kodzie pojawiała się też u niego?</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/563406/automatyczne-aktualizowanie-danych-dla-innych-uzytkownikow</guid>
<pubDate>Wed, 23 Mar 2022 16:11:16 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Vb.net dynamiczne wstawianie przycisku i jego oprogramowanie</title>
<link>https://forum.pasja-informatyki.pl/562991/vb-net-dynamiczne-wstawianie-przycisku-i-jego-oprogramowanie?show=563154#a563154</link>
<description>

&lt;p&gt;Dzięki, pomogło. Problem leżał w konieczności ponownego załadowania przycisku w procedurze Page_Load() po wykonaniu postback'u&amp;nbsp;&lt;img alt=&quot;smiley&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/regular_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;smiley&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/562991/vb-net-dynamiczne-wstawianie-przycisku-i-jego-oprogramowanie?show=563154#a563154</guid>
<pubDate>Fri, 18 Mar 2022 21:06:28 +0000</pubDate>
</item>
<item>
<title>VBA - wysyłanie maila z załącznikiem przez thunderbirda</title>
<link>https://forum.pasja-informatyki.pl/562081/vba-wysylanie-maila-z-zalacznikiem-przez-thunderbirda</link>
<description>

&lt;p&gt;Cześć, Mam taki kod który działał u mnie dłuższy czas ale zmieniłem program pocztowy z Outlooka na thunderbirda i nie mogę tego przerobić. A działa on tak że z&amp;nbsp;Excela generuje się pdf który jest zapisywany w danym katalogu a następnie załączany jest do wiadomości jako załącznik. Ktoś ma pomysł jak to zrobić na thunderbirda ?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub doPDF()

Dim pdfFileName As String
Dim pdfSaveDir As String
Dim pdfSaveDirYear As String
Dim pdfFile As String
Dim miesiac As String
Dim rok As String

Dim strDir As String
Dim iRet As Integer




ActiveSheet.Select
ActiveSheet.PageSetup.PrintArea = &quot;$A$1:$F$110&quot;
ActiveSheet.PageSetup.Orientation = xlPortrait ' Orientacja strony

If ActiveSheet.Range(&quot;b3&quot;) &amp;lt;&amp;gt; &quot;&quot; Then
ActiveSheet.Name = Left(ActiveSheet.Range(&quot;b3&quot;), 3)
End If

' Pobranie z systemu aktualnego miesiąca i roku
miesiac = Month(Now)
rok = Year(Now)


' Ustalenie ścieżek zapisu pliku
pdfSaveDirYear = &quot;C:\raport\&quot; + rok + &quot;\&quot;
pdfSaveDir = &quot;C:\raport\&quot; + rok + &quot;\&quot; + miesiac + &quot;\&quot;
pdfFileName = &quot;Raport&quot; &amp;amp; Date &amp;amp; &quot;_&quot; &amp;amp; [numer].Value

pdfFile = pdfSaveDir + pdfFileName + &quot;.pdf&quot;
 'MsgBox pdfFile

' Sprawdzenie czy na dysku są katalogi, jeśli nie to tworzymy je
    strDir = pdfSaveDirYear
    
    If Dir(strDir, vbDirectory) = &quot;&quot; Then
        MkDir strDir
    Else
        'MsgBox &quot;Directory year exists.&quot;
        strDir = &quot;&quot;
    End If
    
    strDir = pdfSaveDir
    
    If Dir(strDir, vbDirectory) = &quot;&quot; Then
        MkDir strDir
    Else
        'MsgBox &quot;Directory month exists.&quot;
    End If


'Eksport do PDF

With ActiveSheet
    On Error Resume Next
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=&quot;\\&quot; + pdfFile, Quality:=xlQualityStandard, IgnorePrintAreas:=False, OpenAfterPublish:=True
    On Error GoTo 0
End With



 'Tworzenie maila z odbiorcami, tytułem oraz załącznikiem
    Set xOutlookObj = CreateObject(&quot;Outlook.Application&quot;)
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = &quot;test@test.pl&quot;
        .CC = &quot;test@test.pl; test@test.pl&quot;
        .Subject = pdfFileName
        '.Body = &quot;...&quot;'
        .HTMLBody = &quot;treść wiadomości&quot; &amp;amp; .HTMLBody
        .Attachments.Add pdfFile
        If DisplayEmail = False Then
            '.Send
        End If
 
End With

End Sub&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/562081/vba-wysylanie-maila-z-zalacznikiem-przez-thunderbirda</guid>
<pubDate>Thu, 03 Mar 2022 19:43:59 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Problem z makrem Excel</title>
<link>https://forum.pasja-informatyki.pl/554317/problem-z-makrem-excel?show=554692#a554692</link>
<description>

&lt;p&gt;Proponuję za pomocą jednej pętli bez tworzenia list&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Function kiedy_robil_zakupy(kto_dany As String) As String
    Dim r_data As Range
    Dim return_value, skip_value, current_value, last_value, last_row As String
    
    last_row = CStr(Cells(Rows.Count, 3).End(xlUp).Row)
    last_value = vbNullString
    skip_value = vbNullString
 
    For Each r_data In Range(&quot;F4:F&quot; &amp;amp; last_row)
        current_value = CStr(Day(r_data.value))
    
        If Cells(r_data.Row, 3).value = kto_dany Then
            skip_value = current_value
        End If
        
        If Not Cells(r_data.Row, 3).value = kto_dany _
           And Not skip_value = current_value _
           And Not last_value = current_value Then
            last_value = current_value
            return_value = return_value &amp;amp; current_value &amp;amp; &quot; &quot;
        End If
        
        If Not InStr(1, return_value, skip_value) = 0 Then
            return_value = Replace(return_value, skip_value, vbNullString)
            return_value = Replace(return_value, &quot;  &quot;, &quot; &quot;)
        End If
    Next
    
    kiedy_robil_zakupy = Replace(Trim(return_value), &quot; &quot;, &quot;, &quot;)
End Function&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=13048253583319321793&quot; style=&quot;height:398px; width:469px&quot;&gt;&lt;/p&gt;



&lt;p&gt;i bez ustawiania na &quot;sztywno&quot;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Set data = [f4:f22]
Set kto = [c4:c22]
 
For k = &quot;02-1&quot; To &quot;02-27&quot;&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554317/problem-z-makrem-excel?show=554692#a554692</guid>
<pubDate>Thu, 11 Nov 2021 01:03:58 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Kod Excel VBA</title>
<link>https://forum.pasja-informatyki.pl/554469/kod-excel-vba?show=554602#a554602</link>
<description>

&lt;p&gt;Wg mnie wystarczy wpisać gdzieś w makrach Twoją funkcję i potem można ją wywołać w arkuszu - zaznaczasz docelowy obszar, wpisujesz funkcję i wciskasz ctrl+shift+Enter (zamiast zwykłego Enter)&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=9326079360100304894&quot; style=&quot;height:348px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554469/kod-excel-vba?show=554602#a554602</guid>
<pubDate>Tue, 09 Nov 2021 19:28:26 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Dynamiczne przypisywanie makra do zdarzeń arkusza</title>
<link>https://forum.pasja-informatyki.pl/554494/dynamiczne-przypisywanie-makra-do-zdarzen-arkusza?show=554509#a554509</link>
<description>

&lt;p&gt;Chodzi Tobie pewnie o&amp;nbsp;&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/addhandler-statement&quot; rel=&quot;nofollow&quot;&gt;AddHandler Statement&lt;/a&gt;&amp;nbsp;za pomocą, którego przypiszesz dynamicznie zdarzenie&amp;nbsp;&lt;strong&gt;Worksheet.Activate event&lt;/strong&gt;&amp;nbsp;( o którym wspomniał &lt;a href=&quot;https://forum.pasja-informatyki.pl/554494/dynamiczne-przypisywanie-makra-do-zdarzen-arkusza?show=554499#a554499&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;@overcq&lt;/strong&gt;&lt;/a&gt;) dla nowo utworzonego arkusza&lt;/p&gt;



&lt;p&gt;lub&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/48572428/add-vba-code-to-dynamically-created-excel-sheets&quot; rel=&quot;nofollow&quot;&gt;Add VBA code to dynamically created Excel sheets&lt;/a&gt;
&lt;br&gt;
&lt;a href=&quot;https://excelchamps.com/vba/add-new-sheet/&quot; rel=&quot;nofollow&quot;&gt;How to Write a VBA Code to Create a New Sheet in Excel (Macro)&lt;/a&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554494/dynamiczne-przypisywanie-makra-do-zdarzen-arkusza?show=554509#a554509</guid>
<pubDate>Mon, 08 Nov 2021 16:08:53 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: VBA - Sumowanie danych w tabeli mających tą samą nazwę</title>
<link>https://forum.pasja-informatyki.pl/554308/vba-sumowanie-danych-w-tabeli-majacych-ta-sama-nazwe?show=554460#a554460</link>
<description>

&lt;p&gt;Najpierw oblicz sumę za pomocą funkcji &lt;strong&gt;SumIf&lt;/strong&gt;, czyli&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub zsumujDane() 
    Dim wynikSumy As Long

    wynikSumy = Application.WorksheetFunction.SumIf(Range(&quot;A1:A6&quot;), &quot;KOWALSKI&quot;, Range(&quot;B1:B6&quot;))
    wynikSumy = Range(&quot;E1&quot;).Value 
End Sub
&lt;/pre&gt;



&lt;p&gt;teraz przypisz wartość obliczoną, którą &quot;przechowuje&quot; zmienna &lt;strong&gt;wynikSumy&lt;/strong&gt; do komórki &lt;strong&gt;E1&lt;/strong&gt;, czyli&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub zsumujDane() 
    Dim wynikSumy As Long

    wynikSumy = Application.WorksheetFunction.SumIf(Range(&quot;A1:A6&quot;), &quot;KOWALSKI&quot;, Range(&quot;B1:B6&quot;))
    Range(&quot;E1&quot;).Value = wynikSumy
End Sub&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;P.S. &quot;Podkręciłem&quot; trochę Twój kod VBA,&lt;/p&gt;



&lt;ul&gt;
	

&lt;li&gt;teraz możesz dopisywać więcej linii (wierszy) bez potrzeby zmiany kodu&lt;/li&gt;
	

&lt;li&gt;podwójne kliknięcie lewym przyciskiem myszki w nazwisko wywołuje &lt;strong&gt;SumIf&lt;/strong&gt;&amp;nbsp;z nazwiskiem, które znajduje się w komórce
&lt;br&gt;
	&amp;nbsp;
&lt;br&gt;
	&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=14043555305901819585&quot; style=&quot;height:146px; width:334px&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;zapisz ten kod w (edytora VBA -&amp;nbsp;&lt;strong&gt;Alt + F11&lt;/strong&gt;&amp;nbsp;)
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=17988010408041391893&quot; style=&quot;height:380px; width:311px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=11845340575657347339&quot; style=&quot;height:176px; width:300px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not IsEmpty(Target.Value) And Target.Column = 1 Then
        zsumujDane (Target.Value)
        Cancel = True
    End If
End Sub

Sub zsumujDane(ByVal name As String)
    Dim wynikSumy As Long
    Dim wynik, ostatni_wiersz As String
 
    ostatni_wiersz = CStr(Cells(Rows.Count, 1).End(xlUp).Row)
 
    wynikSumy = WorksheetFunction.SumIf(Range(&quot;A1:A&quot; + ostatni_wiersz), name, Range(&quot;B1:B&quot; + ostatni_wiersz))
    wynik = &quot; &quot; + name + &quot;: &quot; + CStr(wynikSumy)
    
    Range(&quot;E1&quot;).Value = wynik
    Range(&quot;E1&quot;).ColumnWidth = Len(wynik) + 2
End Sub
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554308/vba-sumowanie-danych-w-tabeli-majacych-ta-sama-nazwe?show=554460#a554460</guid>
<pubDate>Mon, 08 Nov 2021 01:23:40 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Excel VBA Thunderbird wypisywanie wartości tablicy w treści maila</title>
<link>https://forum.pasja-informatyki.pl/549788/excel-vba-thunderbird-wypisywanie-wartosci-tablicy-w-tresci-maila?show=549806#a549806</link>
<description>

&lt;p&gt;Możesz użyć pętli &lt;a href=&quot;https://www.automateexcel.com/vba/loop-through-array/&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;For&amp;nbsp;Each&lt;/strong&gt;&lt;/a&gt;, ma taką zaletę, że &quot;wie&quot;&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:17px; width:17px&quot; title=&quot;wink&quot;&gt;&amp;nbsp;jakiej długości jest tablica.&lt;/p&gt;



&lt;p&gt;Propozycja modyfikacji Twojego kodu&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub Wyslij_maila(dane)
 
Dim thund As String
Dim email As String
Dim temat As String
Dim body  As String
 
email = &quot;;&quot;
temat = &quot;123&quot;
body  = &quot;Dane: &quot;

For Each rekord In dane
   body = body &amp;amp; rekord &amp;amp; &quot; &quot;
Loop

thund = &quot;C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe &quot; &amp;amp; _
&quot;-compose &quot; &amp;amp; &quot;&quot;&quot;&quot; &amp;amp; _
&quot;to='&quot; &amp;amp; email &amp;amp; &quot;',&quot; &amp;amp; _
&quot;subject='&quot; &amp;amp; temat &amp;amp; &quot;',&quot; &amp;amp; _
&quot;body='&quot; &amp;amp; body &amp;amp; &quot;'&quot; &amp;amp; &quot;&quot;&quot;&quot;
 
Call Shell(thund, vbHide)
Application.Wait (Now + TimeValue(&quot;0:00:2&quot;))
'SendKeys &quot;^{ENTER}&quot;, True
Application.Wait (Now + TimeValue(&quot;0:00:2&quot;))
'SendKeys &quot;^{ENTER}&quot;, True
 
End Sub
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Możesz tez użyć funkcji &lt;a href=&quot;https://excel-macro.tutorialhorizon.com/vba-excel-array-functions-join-converts-array-to-string/&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;Join&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;i wtedy masz:&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub Wyslij_maila(dane)
 
Dim thund As String
Dim email As String
Dim temat As String
Dim body  As String
 
email = &quot;;&quot;
temat = &quot;123&quot;
body  = &quot;Dane: &quot; &amp;amp; Join(dane, &quot; &quot;)

thund = &quot;C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe &quot; &amp;amp; _
&quot;-compose &quot; &amp;amp; &quot;&quot;&quot;&quot; &amp;amp; _
&quot;to='&quot; &amp;amp; email &amp;amp; &quot;',&quot; &amp;amp; _
&quot;subject='&quot; &amp;amp; temat &amp;amp; &quot;',&quot; &amp;amp; _
&quot;body='&quot; &amp;amp; body &amp;amp; &quot;'&quot; &amp;amp; &quot;&quot;&quot;&quot;
 
Call Shell(thund, vbHide)
Application.Wait (Now + TimeValue(&quot;0:00:2&quot;))
'SendKeys &quot;^{ENTER}&quot;, True
Application.Wait (Now + TimeValue(&quot;0:00:2&quot;))
'SendKeys &quot;^{ENTER}&quot;, True
 
End Sub&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; Zamiast &quot; &quot;, można użyć zapisu &lt;strong&gt;Chr(32)&lt;/strong&gt;, zamiast &quot;&quot;&quot;&quot; - &lt;strong&gt;Chr(34)&lt;/strong&gt;&amp;nbsp;itd.&lt;/p&gt;



&lt;p&gt;[ &lt;a href=&quot;https://docs.microsoft.com/en-us/office/vba/Language/Reference/User-Interface-Help/chr-function&quot; rel=&quot;nofollow&quot;&gt;Chr(...)&lt;/a&gt; ]&amp;nbsp; [&amp;nbsp;&lt;a href=&quot;https://docs.microsoft.com/en-us/office/vba/Language/Reference/User-Interface-Help/character-set-0127&quot; rel=&quot;nofollow&quot;&gt;Character set (0 - 127)&lt;/a&gt; ]&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/549788/excel-vba-thunderbird-wypisywanie-wartosci-tablicy-w-tresci-maila?show=549806#a549806</guid>
<pubDate>Thu, 26 Aug 2021 08:15:59 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Microsoft Visual Studio 2019, Visual Basic - ColorDialog</title>
<link>https://forum.pasja-informatyki.pl/548021/microsoft-visual-studio-2019-visual-basic-colordialog?show=548043#a548043</link>
<description>

&lt;p&gt;Ja bym zrezygnował z tej pętli, a jak użytkownik nie chce zmienić kolor, zmienił zdanie, gdy już ma otwarty &lt;strong&gt;ColorDialog&lt;/strong&gt;.&amp;nbsp;&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:18px; width:18px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;



&lt;p&gt;Może porostu dodaj do projektu&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.picturebox?view=net-5.0&quot;&gt;&lt;strong&gt;PictureBox&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;i w nim pokazuj wybrany kolor, wtedy nie potrzebujesz zmiennej do przechowywania koloru, bo np.: &lt;strong&gt;PictureBox1.BackColor&lt;/strong&gt;&amp;nbsp;będzie przechowywał wybrany kolor.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Przykład&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button1.Text = &quot;Wybierz kolor&quot;

        ' Domyslny kolor - uruchomienie programu
        PictureBox1.BackColor = Color.Black
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' Ostatio wybrany kolor
        ColorDialog1.Color = PictureBox1.BackColor

        ColorDialog1.ShowDialog()
        PictureBox1.BackColor = ColorDialog1.Color
    End Sub

End Class
&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=6778716901095468710&quot; style=&quot;height:237px; width:374px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=3341084645326118972&quot; style=&quot;height:268px; width:318px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=4249898059820348452&quot; style=&quot;height:330px; width:288px&quot;&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/548021/microsoft-visual-studio-2019-visual-basic-colordialog?show=548043#a548043</guid>
<pubDate>Sat, 31 Jul 2021 13:15:51 +0000</pubDate>
</item>
<item>
<title>Access - filtrowanie danych w podformularzu względem pola kombi</title>
<link>https://forum.pasja-informatyki.pl/543879/access-filtrowanie-danych-w-podformularzu-wzgledem-pola-kombi</link>
<description>W programie access mam utworzony formularz o nazwie &amp;quot;Wnioski&amp;quot;, na którym wyświetlam w formie podformularza inny formularz typu arkusz danych.&lt;br /&gt;
&lt;br /&gt;
Arkusza danych zawiera takie dane jak: Numer wniosku, Data przyjącia, status i Obsługujący. Ponad 1000 pozycji.&lt;br /&gt;
&lt;br /&gt;
Formularz &amp;quot;Wnioski&amp;quot; zawiera również pole kombi, jako listę osób obsługujących. Dane są zaciągane z tej samej tabeli danych co w arkuszu danych dla tej samej kolumny.&lt;br /&gt;
&lt;br /&gt;
Do posortowania danych względem np. Daty przyjęcia zastosowałem makro UstawUporządkujWedług podając nazwę kolumny i nazwę formantu pod formularza.&lt;br /&gt;
&lt;br /&gt;
Jak posortować dane nie używając przycisków nawigacyjnych dla pola Obsługujący, odwołując się do wybranego obsługującego z pola kombi?</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/543879/access-filtrowanie-danych-w-podformularzu-wzgledem-pola-kombi</guid>
<pubDate>Wed, 16 Jun 2021 08:08:00 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Excel VBA - Upload, Download FTP</title>
<link>https://forum.pasja-informatyki.pl/540769/excel-vba-upload-download-ftp?show=540780#a540780</link>
<description>

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://duckduckgo.com/?q=excel+macro+download+file+via+FTP&amp;amp;t=brave&amp;amp;ia=web&quot;&gt;excel macro download file via FTP&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:18px; width:18px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/540769/excel-vba-upload-download-ftp?show=540780#a540780</guid>
<pubDate>Tue, 11 May 2021 12:49:59 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Tablica typów w procedurze</title>
<link>https://forum.pasja-informatyki.pl/536429/tablica-typow-w-procedurze?show=536450#a536450</link>
<description>

&lt;p&gt;Nie mam już dostępu do VB6 (piszę&amp;nbsp;z głowy, czyli z niczego&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:18px; width:18px&quot; title=&quot;wink&quot;&gt; ), ale spróbuj tak&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Public Sub Odwiedź (ByRef Budynek As typBudowa, ByVal Index As Integer)
 
     ' ... kod
 
     Dim i As Integer
 
     For i=1 To 10
&amp;nbsp;         ' If i = Index Then
          If Budynek(i) = Budynek(Index) Then
          ' ... kod
          End If
     Next i
 
End Sub
 
' wywołanie procedury:
 
Odwiedź Kościół, 2&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;BTW, polecam przejść na &lt;a href=&quot;https://www.tutorialspoint.com/vb.net/index.htm&quot; rel=&quot;nofollow&quot;&gt;VB.Net&lt;/a&gt;.&amp;nbsp;&lt;img alt=&quot;smiley&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/regular_smile.png&quot; style=&quot;height:18px; width:18px&quot; title=&quot;smiley&quot;&gt;&amp;nbsp; ( &lt;a rel=&quot;nofollow&quot; href=&quot;https://duckduckgo.com/?q=vb6+v.+vb.net+&amp;amp;t=brave&amp;amp;ia=web&quot;&gt;vb6 v. vb.net&lt;/a&gt; )&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/536429/tablica-typow-w-procedurze?show=536450#a536450</guid>
<pubDate>Thu, 08 Apr 2021 10:37:12 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Sprawdzenie otwartych (na pasku zadań) plików z excela</title>
<link>https://forum.pasja-informatyki.pl/534377/sprawdzenie-otwartych-na-pasku-zadan-plikow-z-excela?show=534441#a534441</link>
<description>

&lt;p&gt;
&lt;br&gt;
Cześć,&lt;/p&gt;



&lt;p&gt;Poniżej makro, które wyświetla Ci nazwy otwartych obecnie arkuszów&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub test()


For Each wb In Workbooks

    MsgBox wb.Name

Next

End Sub&lt;/pre&gt;



&lt;p&gt;Zamiast wyświetlenia nazwy możesz dodać ją do listy....&lt;/p&gt;



&lt;p&gt;Nazwy muszą być unikatowe więc później możesz w podobny sposób wyszukać interesującego Cię skoroszytu (pliku) i z niego wyciągać dane.&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/534377/sprawdzenie-otwartych-na-pasku-zadan-plikow-z-excela?show=534441#a534441</guid>
<pubDate>Thu, 25 Mar 2021 07:10:45 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: VBA kopiowanie wartości do kolejnych komórek</title>
<link>https://forum.pasja-informatyki.pl/533739/vba-kopiowanie-wartosci-do-kolejnych-komorek?show=534228#a534228</link>
<description>

&lt;p&gt;Proponuję przypisać makro do przycisku, które będzie pobierać wartość z &lt;strong&gt;B:1&lt;/strong&gt;, i będzie sprawdzać, który wiersz w kolumnie &lt;strong&gt;A&lt;/strong&gt;&amp;nbsp;począwszy od &lt;strong&gt;1, 2, 3, ...&lt;/strong&gt; itd.&amp;nbsp;jest wolny i wpisywać tam wartość z&lt;strong&gt; B:1&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/29538911/vba-find-blank-cells-and-insert-text&quot; rel=&quot;nofollow&quot;&gt;VBA Find Blank Cells and insert text&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://stackoverflow.com/questions/14957994/select-first-empty-cell-in-column-f-starting-from-row-1-without-using-offset&quot;&gt;Select first empty cell in column F starting from row 1. (without using offset)&lt;/a&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/533739/vba-kopiowanie-wartosci-do-kolejnych-komorek?show=534228#a534228</guid>
<pubDate>Tue, 23 Mar 2021 22:52:00 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: VBA Zliczanie godzin z innych plików do podsumowania</title>
<link>https://forum.pasja-informatyki.pl/529575/vba-zliczanie-godzin-z-innych-plikow-do-podsumowania?show=529923#a529923</link>
<description>

&lt;p&gt;&quot;Wyciąganie&quot; danych z takiego arkusza może okazać nie lada wyczynem.&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=12284969521108110218&quot; style=&quot;height:300px; width:300px&quot;&gt;&lt;/p&gt;



&lt;p&gt;na początek proponowałbym dodanie kolumny stanowisko jako osobnej np. zaraz po kolumnie imię i nazwisko (ułatwi to &lt;strong&gt;parse&lt;/strong&gt;-owanie danych z kolumny imię i nazwisko).
&lt;br&gt;
Na załączonym przez Ciebie obrazku widać, że pracownicy generują różne ilości wierszy i tak:
&lt;br&gt;
&lt;strong&gt;Monika &lt;/strong&gt;lp.1 - 3 wiersze
&lt;br&gt;
&lt;strong&gt;Stanisław &lt;/strong&gt;lp.2 - 8 wierszy itd.&lt;/p&gt;



&lt;p&gt;Jedyne co mi na teraz przychodzi do głowy to przeszukiwanie wierszy po Lp. (kolumna A od 5 wiersza w &quot;dół&quot;),
&lt;br&gt;
nowy numer Lp. (większy od poprzedniego w kolumnie A), wpis dotyczący innego pracownika.&lt;/p&gt;



&lt;p&gt;Ja to bym zrobił osobny formularz (arkusz)&amp;nbsp;do wprowadzania danych pracownika według tych kryteriów&amp;nbsp;co masz teraz, i na osobnym arkuszu zrobił listę dostępnych pracowników w danym projekcie (numer zlecenia) i po kliknięciu &quot;na pracownika&quot; na liście - dopiero pokazują się dane dla konkretnego pracownika, tylko do wydruku robiłbym zbiorczą tabelę.
&lt;br&gt;
Osobny formularz (arkusz) daje nam możliwość zapisania danych do np. pliku &lt;strong&gt;csv&lt;/strong&gt;, &lt;strong&gt;xml &lt;/strong&gt;lub nawet &lt;strong&gt;txt&lt;/strong&gt;, daje nam to łatwiejsze &quot;manipulowanie&quot; danymi.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://analystcave.com/vba-read-file-vba/&quot; rel=&quot;nofollow&quot;&gt;VBA Read file in Excel (txt, xml, csv, binary)&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Przykładowy plik z danymi &lt;strong&gt;xml&amp;nbsp;&amp;nbsp;&lt;img alt=&quot;laugh&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/teeth_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;laugh&quot;&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;T-566__25.01.2021.xml&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;project&amp;gt;
    &amp;lt;project_info&amp;gt;
        &amp;lt;!--b/d - brak danych --&amp;gt;
        &amp;lt;creation_date&amp;gt;25.01.2021&amp;lt;/creation_date&amp;gt;
        &amp;lt;name&amp;gt;b/d&amp;lt;/name&amp;gt;
        &amp;lt;!--technical_drawing_number - numer rysunku --&amp;gt;
        &amp;lt;technical_drawing_number&amp;gt;b/d&amp;lt;/technical_drawing_number&amp;gt;
        &amp;lt;model_number&amp;gt;T-566&amp;lt;/model_number&amp;gt;
        &amp;lt;order_number&amp;gt;b/d&amp;lt;/order_number&amp;gt;
    &amp;lt;/project_info&amp;gt;
    &amp;lt;!-- ewidencja godzin B+R --&amp;gt;
    &amp;lt;records_of_B_R_hours&amp;gt;
        &amp;lt;employee&amp;gt;
            &amp;lt;id&amp;gt;1&amp;lt;/id&amp;gt;
            &amp;lt;name&amp;gt;Monika&amp;lt;/name&amp;gt;
            &amp;lt;surname&amp;gt;b/d&amp;lt;/surname&amp;gt;
            &amp;lt;position&amp;gt;Specjalista R&amp;amp;D&amp;lt;/position&amp;gt;
            &amp;lt;operations&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;11.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Opracowanie dokumentacji technicznej&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;2&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;11.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Analiza dokumentacji technicznej&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;3&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;28.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Uzgodnienie warunków technicznych&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;2&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;                
            &amp;lt;/operations&amp;gt;
        &amp;lt;/employee&amp;gt;
        &amp;lt;employee&amp;gt;
            &amp;lt;id&amp;gt;2&amp;lt;/id&amp;gt;
            &amp;lt;name&amp;gt;Stanisław&amp;lt;/name&amp;gt;
            &amp;lt;surname&amp;gt;b/d&amp;lt;/surname&amp;gt;
            &amp;lt;position&amp;gt;Technolog&amp;lt;/position&amp;gt;
            &amp;lt;operations&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;19.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Analiza dostarczonej dokumentacji technologicznej&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;2&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;19.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Modelowanie 3D&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;2.5&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;20.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Przygotowanie&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;2&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;20.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Analiza wyników&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;0.75&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;
                &amp;lt;operation&amp;gt;
                    &amp;lt;date&amp;gt;21.01.2021&amp;lt;/date&amp;gt;
                    &amp;lt;title&amp;gt;Opracowanie dokumentacji 2D&amp;lt;/title&amp;gt;
                    &amp;lt;hours&amp;gt;1.5&amp;lt;/hours&amp;gt;
                &amp;lt;/operation&amp;gt;
                &amp;lt;!-- itd. --&amp;gt;
            &amp;lt;/operations&amp;gt;
        &amp;lt;/employee&amp;gt;                        
    &amp;lt;/records_of_B_R_hours&amp;gt;
&amp;lt;/project&amp;gt;&lt;/pre&gt;



&lt;p&gt;&lt;a href=&quot;https://duckduckgo.com/?q=Read+Data+from+XML+File+vba+excel&amp;amp;t=brave&amp;amp;ia=web&quot; rel=&quot;nofollow&quot;&gt;read data from xml file vba excel&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;



&lt;p&gt;Z takiego pliku &lt;strong&gt;xml &lt;/strong&gt;łatwo jest wprowadzić dane do&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=12781696234364513500&quot; style=&quot;height:221px; width:276px&quot;&gt;&lt;/p&gt;



&lt;p&gt;jak i przeliczyć dane i wprowadzić do&amp;nbsp;&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=13127031143889923819&quot; style=&quot;height:118px; width:261px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=12086827002598198153&quot; style=&quot;height:305px; width:596px&quot;&gt;&lt;/p&gt;



&lt;p&gt;lub&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=6101553741017919326&quot; style=&quot;height:371px; width:600px&quot;&gt;&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;laugh&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/teeth_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;laugh&quot;&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
sciezka_pliku = &quot;\\TECHNOLOGIA\EWIDENCJA GODZIN B+R\Projekty_B+R\&quot;
nazwa_pliku = &quot;T-566__25.01.2021.xlsm&quot;

Set project_b_r__app = Workbooks.Open(sciezka_pliku &amp;amp; nazwa_pliku)&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=12329631344868462622&quot; style=&quot;height:184px; width:515px&quot;&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/529575/vba-zliczanie-godzin-z-innych-plikow-do-podsumowania?show=529923#a529923</guid>
<pubDate>Wed, 17 Feb 2021 18:07:33 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Dodawanie pól Access przez program napisany w visual basic</title>
<link>https://forum.pasja-informatyki.pl/501080/dodawanie-pol-access-przez-program-napisany-w-visual-basic?show=529088#a529088</link>
<description>

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.devhut.net/2018/08/26/access-vba-inserting-new-records/&quot;&gt;Access – VBA – Inserting New Records&lt;/a&gt;
&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://stackoverflow.com/questions/5168910/access-vba-add-new-row-in-a-subform-on&quot;&gt;Access VBA - Add new row&lt;/a&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/501080/dodawanie-pol-access-przez-program-napisany-w-visual-basic?show=529088#a529088</guid>
<pubDate>Thu, 11 Feb 2021 02:21:56 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: VBA Excel funkcja Select Case</title>
<link>https://forum.pasja-informatyki.pl/528461/vba-excel-funkcja-select-case?show=528532#a528532</link>
<description>

&lt;p&gt;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub start() 
    Liczba_punktow = Range(&quot;A9&quot;)
 
    Select Case Liczba_punktow 
        Case 0 To 30
            Range(&quot;B1:B9&quot;) = &quot;niedostateczny&quot;
        Case 31 To 50
            Range(&quot;B1:B9&quot;) = &quot;dopuszczający&quot; 
    End Select
End Sub&lt;/pre&gt;



&lt;p&gt;&lt;a href=&quot;https://www.wallstreetmojo.com/vba-set-range/&quot; rel=&quot;nofollow&quot;&gt;Set Range in Excel VBA&lt;/a&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/528461/vba-excel-funkcja-select-case?show=528532#a528532</guid>
<pubDate>Sun, 07 Feb 2021 00:16:33 +0000</pubDate>
</item>
<item>
<title>Problem z zaadresowaniem komórki w VBA (Excel)</title>
<link>https://forum.pasja-informatyki.pl/526134/problem-z-zaadresowaniem-komorki-w-vba-excel</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Próbuję napisać makro, które dodaje wartości wprowadzone w arkuszu1 do planu, który znajduje się w arkuszu2. Użyłem funkcji Adres, Indeks, Podaj pozycję, dzięki czemu mam już adres komórki, do której chcę dodać wartość z Arkusza1.&lt;br /&gt;
&lt;br /&gt;
Nie wiem jak napisać makro, próbowałem na różne sposoby. Największy problem mam, jak edytować komórkę o podanym adresie z arkusza2, tak, aby dodać do niej wartość z komórki z arkusza1.&lt;br /&gt;
&lt;br /&gt;
Będę wdzięczny za pomoc :)&lt;br /&gt;
&lt;br /&gt;
Szymon</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/526134/problem-z-zaadresowaniem-komorki-w-vba-excel</guid>
<pubDate>Wed, 20 Jan 2021 15:18:30 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Makro Word nie zaznacza sformatowanych kolorem wyrażeń</title>
<link>https://forum.pasja-informatyki.pl/522206/makro-word-nie-zaznacza-sformatowanych-kolorem-wyrazen?show=522384#a522384</link>
<description>

&lt;p&gt;&lt;a href=&quot;https://devblogs.microsoft.com/scripting/how-can-i-search-for-and-reformat-highlighted-text-in-a-word-document/&quot; rel=&quot;nofollow&quot;&gt;How Can I Search For (and Reformat) Highlighted Text in a Word Document?&lt;/a&gt;&lt;/p&gt;



&lt;blockquote&gt;


&lt;p&gt;Hey, Scripting Guy! How can I find text in a Word document that has been highlighted in a particular color (say, turquoise), and ...&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;&lt;a href=&quot;https://wordribbon.tips.net/T013552_Finding_Text_Using_a_Specific_Highlighting_Color.html&quot; rel=&quot;nofollow&quot;&gt;Finding Text Using a Specific Highlighting Color&lt;/a&gt;&lt;/p&gt;



&lt;blockquote&gt;


&lt;p&gt;The only way around this is to use a macro to do the finding. VBA allows you to detect the color used to highlight text, which is why this approach will work. The following macro uses Find and Replace to do the finding, but then it checks to see what the HighlightColorIndex property is for what was found. If it is equal to wdYellow (an enumeration for the color yellow), then the text is selected and the macro is exited.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub FindNextYellow()
    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = &quot;&quot;
        .MatchWildcards = False
        .Forward = True
        .Wrap = wdFindContinue
        .Highlight = True
        Do
            .Execute
        Loop Until Selection.Range.HighlightColorIndex = wdYellow Or Not .Found
        Selection.Range.Select
    End With
End Sub&lt;/pre&gt;



&lt;p&gt;You can search for different colors simply by changing the wdYellow enumeration to the enumeration for whatever color you want.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/office/vba/api/Word.Range.HighlightColorIndex&quot; rel=&quot;nofollow&quot;&gt;Range.HighlightColorIndex property (Word)&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://cybertext.wordpress.com/2010/01/25/word-find-highlighted-text/#attachment_3741&quot; rel=&quot;nofollow&quot;&gt;Word: Find highlighted&amp;nbsp;text&lt;/a&gt;&lt;/p&gt;



&lt;blockquote&gt;


&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://cybertext.files.wordpress.com/2010/01/word2007_find_format1.png&quot; style=&quot;height:511px; width:480px&quot;&gt;&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/522206/makro-word-nie-zaznacza-sformatowanych-kolorem-wyrazen?show=522384#a522384</guid>
<pubDate>Wed, 23 Dec 2020 21:24:14 +0000</pubDate>
</item>
<item>
<title>Makro kopiujące dane - Excel</title>
<link>https://forum.pasja-informatyki.pl/518584/makro-kopiujace-dane-excel</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Na wstępie chciałbym powiedzieć, że w VBA jestem jeszcze zielony.&lt;br /&gt;
&lt;br /&gt;
Chciałbym stworzyć makro w Excelu, które po naciśnięciu przycisku czeka aż wybiorę odpowiednią kratkę w kolumnie A. Następnie przechodzi do drugiego arkusza i wkleja w komórkę C4.&lt;br /&gt;
&lt;br /&gt;
Liczę na jakąś podpowiedź. Pozdrawiam</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/518584/makro-kopiujace-dane-excel</guid>
<pubDate>Thu, 26 Nov 2020 09:34:35 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Funkcja VBA-  dni</title>
<link>https://forum.pasja-informatyki.pl/515129/funkcja-vba-dni?show=515132#a515132</link>
<description>Maj ma 31 dni.</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/515129/funkcja-vba-dni?show=515132#a515132</guid>
<pubDate>Thu, 05 Nov 2020 05:49:22 +0000</pubDate>
</item>
<item>
<title>Spacje w visual basic</title>
<link>https://forum.pasja-informatyki.pl/513689/spacje-w-visual-basic</link>
<description>

&lt;p&gt;Dzień dobry!!&lt;/p&gt;



&lt;p&gt;Potrzebuję pomocy odnośnie zadania, mam za zadanie napisać funkcję, która pokazuje w którym miejscu jest spacja ( chodzi o dokładną liczbę) oraz funkcję, która oddzieli od siebie wyrazy w kolumnie A2 w zależności od tego na jakiej spacji skończyła wcześniejszy wyraz. Tutaj zamieszczam jak to wygląda&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://zapodaj.net/f5d6178bebc33.png.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://zapodaj.net/f5d6178bebc33.png.html&lt;/a&gt; a poniżej jest kod, który już spróbowałem napisać nie wiem czy dobrze.&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Function pozycja_spacji(nr As Integer, napis As String) As Long

Dim n, od As Integer
If nr &amp;gt; 4 Or nr &amp;lt;= 0 Then
pozycja_spacji = 0
Else
od = 0
For n = 1 To nr
pozycja_spacji = InStr(od + 1, napis, &quot; &quot;)
Next n
End If
End Function



Function Fragment(nr As Integer, napis As String) As String

Dim x, y As Integer
If nr = 1 Then
x = pozycja_spacji(nr - 1, napis) + 1
y = pozycja_spacji(nr, napis)
ElseIf nr = 2 Then
x = pozycja_spacji(nr - 1, napis)
y = pozycja_spacji(nr, napis) - 2
ElseIf nr &amp;gt;= 4 Then
Fragment = Right(napis, Len(napis) - x)
ElseIf nr = 3 Then
Fragment = Right(Left(napis, y + 1), Len(Left(napis, y + 1)) - x)
Else
Fragment = Mid(napis, x, y)
End If

End Function


&lt;/pre&gt;



&lt;p&gt;Bardzo proszę o pomoc&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/513689/spacje-w-visual-basic</guid>
<pubDate>Mon, 26 Oct 2020 22:23:55 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Excel, VBA - Makro uruchamiane przyciskiem spowalnia komputer.</title>
<link>https://forum.pasja-informatyki.pl/509530/excel-vba-makro-uruchamiane-przyciskiem-spowalnia-komputer?show=509542#a509542</link>
<description>

&lt;p&gt;Spróbuj podmienić kod w&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Sub UkryjWszystkieArkusze()
   If Not ActiveSheet.Name = &quot;A&quot; Then
      ActiveSheet.Visible = False
   End If 
End Sub&lt;/pre&gt;



&lt;p&gt;pomijamy&amp;nbsp;iterację po wszystkich arkusza, bo tak zrozumiałem z opisu, że zawsze otwarty jest A i ewentualnie ten na którym praujesz&amp;nbsp;&lt;strong&gt;ActiveSheet&lt;/strong&gt;. Mam nadzieję, że to pomoże&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&amp;nbsp;(Nie używam Excel'a, piszę z głowy)&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/509530/excel-vba-makro-uruchamiane-przyciskiem-spowalnia-komputer?show=509542#a509542</guid>
<pubDate>Sat, 26 Sep 2020 02:21:17 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Czas w Visual Basic</title>
<link>https://forum.pasja-informatyki.pl/506862/czas-w-visual-basic?show=507048#a507048</link>
<description>

&lt;p&gt;Może to wyglądać mniej więcej tak&amp;nbsp;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;, z zapisem stanu do pliku &lt;strong&gt;xml &lt;/strong&gt;(który jest tworzony przy pierwszym uruchomieniu):&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Imports System.IO
Imports System.Text
Imports System.Xml
Imports WindowsApplication1.ApplicationDataXml

Public Class Form1

    Public Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SetValueMonthly(TextBox1) ' Wartość domyslnie wzrośnie o 1 np.: TextBox1.Text += 1
        ' TextBox1.Name = Amount
        ' SetValueMonthly(Amount) ' itp.
        ' SetValueMonthly(TextBox1, 3) ' Wartość wzrośnie o 3 np.: TextBox1.text += 3
    End Sub

    Private Sub SetValueMonthly(ByRef TextBox As TextBox, Optional ByVal value As Integer = 1)
        Try
            Dim value_from_xml, value_date_from_xml As String
            value_from_xml = GetValueFromXmlFile(&quot;monthly-value&quot;, &quot;value&quot;)
            value_date_from_xml = GetValueFromXmlFile(&quot;monthly-value&quot;, &quot;date&quot;)

            If String.IsNullOrEmpty(value_from_xml) Or String.IsNullOrEmpty(value_date_from_xml) Then
                Throw New System.Exception(&quot;Nie mogę ustawić prawidłowej wartości dla: &quot; &amp;amp; TextBox.Name)
            Else
                Dim textbox_value As Integer = Int32.Parse(value_from_xml)
                Dim check_date As DateTime = Date.Parse(value_date_from_xml)
                Dim check_date_interval As DateTime = check_date.AddMonths(1)
                Dim check_date_today As DateTime = Today.ToString(&quot;d&quot;)
                Dim date_compare As Integer = DateTime.Compare(check_date_today, check_date_interval)

                If date_compare &amp;gt;= 0 Then ' Minął miesiąc
                    Dim textbox_value_computed As Integer = textbox_value + value
                    ' Zapisanie nowych wartości do pliku xml
                    SetValueToXmlFile(&quot;monthly-value&quot;, &quot;value&quot;, textbox_value_computed)
                    SetValueToXmlFile(&quot;monthly-value&quot;, &quot;date&quot;, check_date_today)
                    TextBox.Text = textbox_value_computed
                Else ' Nie minął miesiąc
                    TextBox.Text = textbox_value
                End If
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, &quot;Wystąpił błąd&quot;)
        End Try
    End Sub

End Class

Module ApplicationDataXml

    Private Const APP_DATA_FILE_NAME = &quot;data.xml&quot;
    Private APP_PATH As String = Application.StartupPath()
    Private APP_DATA_FILE_PATH As String = Path.Combine(APP_PATH, APP_DATA_FILE_NAME)

    Public Function GetValueFromXmlFile(ByVal node_name As String, ByVal value_name As String) As String
        Try
            Dim return_value As String = String.Empty

            If CreateAppDataXmlFile() Then
                Dim oXMLDoc As New XmlDocument()
                oXMLDoc.Load(APP_DATA_FILE_PATH)
                Dim oNodes As XmlNodeList = oXMLDoc.DocumentElement.SelectNodes(node_name)

                For Each oNode As XmlNode In oNodes
                    return_value = oNode.SelectSingleNode(value_name).InnerText
                Next
            End If

            If String.IsNullOrEmpty(return_value) Then
                Throw New System.Exception(&quot;Wartość o nazwie: &quot; &amp;amp; value_name &amp;amp; &quot; nie istnieje.&quot;)
            End If

            Return return_value
        Catch ex As Exception
            MsgBox(&quot;Nie mogę wczytać wartości: &quot; &amp;amp; node_name &amp;amp; vbCrLf &amp;amp; _
                   &quot;Z pliku: &quot; &amp;amp; APP_DATA_FILE_NAME &amp;amp; vbCrLf &amp;amp; ex.Message,
                   MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, &quot;Wystąpił błąd&quot;)

            Return String.Empty
        End Try
    End Function

    Public Function SetValueToXmlFile(ByVal node_name As String, ByVal value_name As String, ByVal value As String) As Boolean
        Try
            If CreateAppDataXmlFile() Then
                Dim oXMLDoc As New XmlDocument()
                oXMLDoc.Load(APP_DATA_FILE_PATH)
                Dim oNodes As XmlNodeList = oXMLDoc.DocumentElement.SelectNodes(node_name)

                For Each oNode As XmlNode In oNodes
                    oNode.SelectSingleNode(value_name).InnerText = value
                Next

                oXMLDoc.Save(APP_DATA_FILE_PATH)
            End If

            Return True
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, &quot;Wystąpił błąd&quot;)
            Return False
        End Try
    End Function

    Private Function CreateAppDataXmlFile(Optional ByVal overwrite As Boolean = False) As Boolean
        Try
            If Not File.Exists(APP_DATA_FILE_PATH) Or overwrite = True Then
                ' Pierwsze uruchomienie programu tworzenie pliku: APP_DATA_FILE_NAME
                ' Z począkowymi danymi.
                Dim oXMLWriter As New XmlTextWriter(APP_DATA_FILE_PATH, Encoding.UTF8)

                With oXMLWriter
                    .WriteStartDocument(True)
                    .Formatting = Formatting.Indented
                    .Indentation = 2
                    .WriteStartElement(&quot;root&quot;)

                    .WriteStartElement(&quot;monthly-value&quot;)

                    .WriteStartElement(&quot;value&quot;)
                    .WriteString(&quot;0&quot;) ' Wartość domyślna początkowa
                    .WriteEndElement()

                    .WriteStartElement(&quot;date&quot;)
                    .WriteString(Today.ToString(&quot;d&quot;)) ' Data w formie: 05.09.2020
                    .WriteEndElement()

                    .WriteEndElement() ' &quot;/monthly-value&quot;

                    .WriteFullEndElement()
                    .WriteEndDocument()
                    .Close()

                    ' Zostaje zapisany plik xml o takiej strukturze
                    ' &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&amp;gt;
                    ' &amp;lt;root&amp;gt;
                    '   &amp;lt;monthly-value&amp;gt;
                    '       &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;
                    '       &amp;lt;date&amp;gt;05.09.2020&amp;lt;/date&amp;gt;
                    '   &amp;lt;/monthly-value&amp;gt;
                    ' &amp;lt;/root&amp;gt;

                End With
            End If

            ' Przy kolejnych uruchomieniach, gdy plik istnieje ...
            Return True ' ... można odczytać dane
        Catch ex As Exception
            MsgBox(&quot;Nie mogę utworzyć pliku: &quot; &amp;amp; APP_DATA_FILE_NAME &amp;amp; vbCrLf &amp;amp; _
                   &quot;W lokalizacji: &quot; &amp;amp; APP_PATH, MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, &quot;Wystąpił błąd&quot;)

            Return False
        End Try
    End Function

End Module
&lt;/pre&gt;



&lt;p&gt;&lt;strong&gt;data.xml&lt;/strong&gt;&amp;nbsp;- widok&lt;/p&gt;



&lt;pre class=&quot;brush:xml;&quot;&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&amp;gt;
&amp;lt;root&amp;gt;
  &amp;lt;monthly-value&amp;gt;
    &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;
    &amp;lt;date&amp;gt;05.09.2020&amp;lt;/date&amp;gt;
  &amp;lt;/monthly-value&amp;gt;
&amp;lt;/root&amp;gt;&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=3559677346258694705&quot; style=&quot;height:279px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/506862/czas-w-visual-basic?show=507048#a507048</guid>
<pubDate>Sat, 05 Sep 2020 15:03:32 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Przekonwertowanie programu w VB6 na plik wykonywalny pod Win7/10</title>
<link>https://forum.pasja-informatyki.pl/502096/przekonwertowanie-programu-w-vb6-na-plik-wykonywalny-pod-win7-10?show=502152#a502152</link>
<description>

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://stackoverflow.com/questions/33603922/will-a-vb6-application-run-on-windows-10&quot;&gt;Will a VB6 Application run on Windows 10&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.raymond.cc/blog/install-visual-basic-6-vb6-in-windows-7-without-microsoft-virtual-machine-for-java/&quot;&gt;How To Install Visual Basic 6 (VB6) in Windows 10&lt;/a&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/502096/przekonwertowanie-programu-w-vb6-na-plik-wykonywalny-pod-win7-10?show=502152#a502152</guid>
<pubDate>Sat, 01 Aug 2020 21:54:14 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Dodawanie pól Access przez program napisany w visual basic</title>
<link>https://forum.pasja-informatyki.pl/501329/dodawanie-pol-access-przez-program-napisany-w-visual-basic?show=501586#a501586</link>
<description>

&lt;p&gt;&lt;a href=&quot;https://www.tutorialspoint.com/vb.net/vb.net_database_access.htm&quot; rel=&quot;nofollow&quot;&gt;VB.Net - Database Access - Scroll to Example 3 -&amp;nbsp;Creating Table, Columns and Rows&lt;/a&gt;
&lt;br&gt;
&lt;a href=&quot;https://www.vbtutor.net/index.php/visual-basic-2017-lesson-36-browsing-editing-data/&quot; rel=&quot;nofollow&quot;&gt;Visual Basic 2017 Lesson 36: Browsing and Editing Data&lt;/a&gt;
&lt;br&gt;
&lt;a href=&quot;https://www.sourcecodester.com/tutorial/visual-basic-net/7258/adding-and-saving-records-access-database-using-vbnet.html&quot; rel=&quot;nofollow&quot;&gt;Adding and Saving Records to Access Database using VB.NET&lt;/a&gt;
&lt;br&gt;
&lt;a href=&quot;https://www.codeproject.com/Articles/26801/Insert-Update-Delete-Search-Values-in-MS-Access-20&quot; rel=&quot;nofollow&quot;&gt;Insert, Update, Delete &amp;amp; Search Values in MS Access 2003 with VB.NET 2005&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.youtube.com/watch?v=Eiu8UTAvbrM&quot;&gt;INSERT, DELETE, UPDATE AND SELECT Data in MS-Access with VB 2008 Part 1&lt;/a&gt;
&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.youtube.com/watch?v=bdpF6Dp4pFM&quot;&gt;INSERT, DELETE, UPDATE AND SELECT Data in MS-Access with VB 2008 Part 2&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/19802918/read-data-from-sql-query-in-vb-net&quot; rel=&quot;nofollow&quot;&gt;Read data from SQL Query in VB.Net&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=PldGe0-FnI8&quot; rel=&quot;nofollow&quot;&gt;Simple Visual Basic Database Application using Data Control -Tutorial for beginners&lt;/a&gt;
&lt;br&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=IShHHzwaNz8&quot; rel=&quot;nofollow&quot;&gt;How to Connect Access Database to VB.NET - Visual Studio 2015&lt;/a&gt;
&lt;br&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=FJI2GXfGx0k&quot; rel=&quot;nofollow&quot;&gt;VB.NET MS Access Database Tutorial 2 # Add New ,Remove ,Save Data in Database using VB.NET&lt;/a&gt;
&lt;br&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=ZU16HQDz-uM&quot; rel=&quot;nofollow&quot;&gt;VB.NET Tutorial - Insert Update Delete Data in Database from DataGridView&lt;/a&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/501329/dodawanie-pol-access-przez-program-napisany-w-visual-basic?show=501586#a501586</guid>
<pubDate>Tue, 28 Jul 2020 22:29:26 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Logarytmowanie VBA</title>
<link>https://forum.pasja-informatyki.pl/478942/logarytmowanie-vba?show=499709#a499709</link>
<description>

&lt;p&gt;Nie wiem czy o to chodzi, ale to jest przykładowy kod, który przetwarza komórki w pętli-ciąg Fibbonaciego:&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot; title=&quot;Ciąg Fibonacciego&quot;&gt;
Sub log()
Dim k As Integer

Range(&quot;A1&quot;).Value = 1
Range(&quot;A2&quot;).Value = 1

For k = 0 To 20

Range(&quot;A3&quot;).Offset(k).Value = (Range(&quot;A3&quot;).Offset(k - 1).Value + Range(&quot;A3&quot;).Offset(k - 2).Value)

Next

End Sub
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/478942/logarytmowanie-vba?show=499709#a499709</guid>
<pubDate>Thu, 16 Jul 2020 07:54:03 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: visual basic excel Liczby pierwsze</title>
<link>https://forum.pasja-informatyki.pl/402724/visual-basic-excel-liczby-pierwsze?show=499641#a499641</link>
<description>

&lt;p&gt;Kod nie przeszukuje wszystkich istniejących arkuszy, tylko wybrany przez nas zakres&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot; title=&quot;Wyszukiwanie liczb pierwszych&quot;&gt;
Sub petla()

Dim rsort As Range
Dim liczba As Integer
Dim i As Integer
Dim sheet As Worksheet

liczba = 0

'Podaj zakres, który się interesuje
On Error Resume Next
Set rsort = Application.InputBox _
(&quot;Zaznacz zakres&quot;, &quot;Zakres&quot;, _
        ActiveCell.Address, , , , , 8)
'dodany warunek żeby  Inputbox się nie sypał, gdy się kliknie Anuluj
If Err.Number &amp;lt;&amp;gt; 0 Then _
Exit Sub
On Error GoTo 0
'dodaj nowy arkusz i nazwij go
Set sheet = ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count))
ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count).Name = &quot;Liczby pierwsze&quot;

'pętla do przetworzenia wszystkich liczb z danego zakresu
For Each cell In rsort
    'dodakowy warunek, bo 2 to też liczba pierwsza
    If cell.Value = 2 Then
        Range(&quot;A1&quot;).Offset(liczba) = cell.Value
        liczba = liczba + 1
    End If
 'pętla do znalezienia liczb pierwszych
 For i = 2 To cell.Value - 1 Step 1
    If (cell.Value Mod i) = 0 Then
        Exit For
    ElseIf i = cell.Value - 1 Then
        Range(&quot;A1&quot;).Offset(liczba) = cell.Value
        liczba = liczba + 1
        Exit For
    End If
 Next
Next cell

'sortowanie liczb pierwszych
Range(&quot;A1&quot;).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets(&quot;Liczby pierwsze&quot;).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(&quot;Liczby pierwsze&quot;).Sort.SortFields.Add2 Key:=Range(&quot;A1&quot;), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(&quot;Liczby pierwsze&quot;).Sort
        .SetRange Range(&quot;A1:A24&quot;)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/402724/visual-basic-excel-liczby-pierwsze?show=499641#a499641</guid>
<pubDate>Wed, 15 Jul 2020 18:05:57 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Visual Basic skróty klawiszowe w tle</title>
<link>https://forum.pasja-informatyki.pl/442181/visual-basic-skroty-klawiszowe-w-tle?show=497738#a497738</link>
<description>

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/ms927178.aspx&quot; rel=&quot;nofollow&quot;&gt;Virtual-Key Codes&lt;/a&gt;.&lt;/strong&gt;
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
Imports System.Runtime.InteropServices

Public Class Form1

    Dim testCount As Integer = 0

    Public Const MOD_ALT As Integer = &amp;amp;H1 'Alt key
    Public Const WM_HOTKEY As Integer = &amp;amp;H312

    &amp;lt;DllImport(&quot;User32.dll&quot;)&amp;gt; _
    Public Shared Function RegisterHotKey(ByVal hwnd As IntPtr, _
                        ByVal id As Integer, ByVal fsModifiers As Integer, _
                        ByVal vk As Integer) As Integer
    End Function

    &amp;lt;DllImport(&quot;User32.dll&quot;)&amp;gt; _
    Public Shared Function UnregisterHotKey(ByVal hwnd As IntPtr, _
                        ByVal id As Integer) As Integer
    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) Handles MyBase.Load
        RegisterHotKey(Me.Handle, 100, MOD_ALT, Keys.F9)
        RegisterHotKey(Me.Handle, 200, MOD_ALT, Keys.F10)
    End Sub

    Private Sub Form1_FormClosing(ByVal sender As System.Object, _
                        ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                        Handles MyBase.FormClosing
        UnregisterHotKey(Me.Handle, 100)
        UnregisterHotKey(Me.Handle, 200)
    End Sub

    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        If m.Msg = WM_HOTKEY Then
            Dim id As IntPtr = m.WParam
            Select Case (id.ToString)
                Case &quot;100&quot;
                    Timer1.Start()
                    Debug.Print(&quot;Timer1.Start&quot;)
                Case &quot;200&quot;
                    Timer1.Stop()
                    Debug.Print(&quot;Timer1.Stop&quot;)
            End Select
        End If
        MyBase.WndProc(m)
    End Sub


    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        testCount += 1
        Debug.Print(testCount)
    End Sub
End Class&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/442181/visual-basic-skroty-klawiszowe-w-tle?show=497738#a497738</guid>
<pubDate>Mon, 06 Jul 2020 01:57:59 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Automatyczne otwieranie okna i podwójne kliknięcia VISUAL BASIC</title>
<link>https://forum.pasja-informatyki.pl/497070/automatyczne-otwieranie-okna-i-podwojne-klikniecia-visual-basic?show=497602#a497602</link>
<description>

&lt;pre class=&quot;brush:vb;&quot;&gt;
Public Class Form1
    Private oForm As Form

    ' Przycisk na Form1
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            oForm.Visible = True
        Catch ex As Exception            
            initializeForm()
        Finally
            oForm.Visible = True
        End Try
    End Sub

    Private Sub initializeForm()
        oForm = New Form
        ' Przykładowe ustawienia okna
        oForm.Text = &quot;Form2&quot; ' Dowlny tekst - caption okna
        oForm.Size = New Size(200, 200)
        oForm.MaximumSize = New Size(200, 200)
        oForm.MinimumSize = New Size(200, 200)
        oForm.Owner = Me
        oForm.FormBorderStyle = FormBorderStyle.FixedDialog
        oForm.ControlBox = False
        oForm.AutoSize = False
        AddHandler oForm.Activated, AddressOf Form2_Activated

        ' Dodawanie checkbox'ów
        Dim locationOffset As Integer = 20
        Dim width As Integer = 20
        Dim checkboxName As String() = New String() {&quot;Pytanie1&quot;, &quot;Pytanie2&quot;, &quot;Pytanie3&quot;, &quot;Pytanie4&quot;, &quot;Pytanie5&quot;}
        Dim checkboxText(5) As String

        checkboxText(0) = &quot;Tresć pytanie 1&quot;
        checkboxText(1) = &quot;Tresć pytanie 2&quot;
        checkboxText(2) = &quot;Tresć pytanie 3&quot;
        checkboxText(3) = &quot;Tresć pytanie 4&quot;
        checkboxText(4) = &quot;Tresć pytanie 5&quot;

        For index As Integer = 0 To checkboxName.GetUpperBound(0)
            Dim checkBox = New CheckBox
            checkBox.Location = New Point(20, locationOffset)
            checkBox.Size = New Size(100, width)
            checkBox.Name = checkboxName(index)
            checkBox.Text = checkboxText(index)
            oForm.Controls.Add(checkBox)
            locationOffset = locationOffset + width
        Next

        Dim button = New Button
        button.Location = New Point(20, locationOffset)
        button.Size = New Size(100, 20)
        button.Text = &quot;Wprowadź&quot;
        AddHandler button.Click, AddressOf Form2_Button1_Click

        oForm.Controls.Add(button)
    End Sub

    ' Przycisk na utworzonej Form'ie
    Private Sub Form2_Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        ' Kod do sprawdzenia stanu checkBox'ów z utworzonej Form'atki

        Dim msgboxStyle As MsgBoxStyle = msgboxStyle.Information + msgboxStyle.OkOnly + msgboxStyle.SystemModal
        For Each control In oForm.Controls
            If (TypeOf (control) Is CheckBox) Then
                MsgBox(control.Name &amp;amp; &quot; = &quot; &amp;amp; control.checked, msgboxStyle)

                If (control.Name = &quot;Pytanie1&quot; And control.checked = True) Then
                    MsgBox(&quot;Pytanie1 - zaznaczony&quot; &amp;amp; vbCrLf &amp;amp; control.Text, msgboxStyle)
                End If
            End If
        Next

        ' Koniec sprawdzenia stanu 

        oForm.Visible = False
    End Sub

    ' Nowa Form'atka zawsze pokazuje się nad Form1
    Private Sub Form2_Activated()
        oForm.Location = Me.Location
    End Sub
End Class&lt;/pre&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=933940153696645041&quot; style=&quot;height:596px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/497070/automatyczne-otwieranie-okna-i-podwojne-klikniecia-visual-basic?show=497602#a497602</guid>
<pubDate>Sat, 04 Jul 2020 22:40:06 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Pytanie odnośnie tworzenia okienek i ich zawartości.</title>
<link>https://forum.pasja-informatyki.pl/496940/pytanie-odnosnie-tworzenia-okienek-i-ich-zawartosci?show=496942#a496942</link>
<description>

&lt;p&gt;Chodzi Ci o&amp;nbsp; to?&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
msgBox(tekst)&lt;/pre&gt;



&lt;p&gt;Oczywiście standardowo tekst w cudzysłowie chyba, że chcesz wyświetlić zmienną&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/496940/pytanie-odnosnie-tworzenia-okienek-i-ich-zawartosci?show=496942#a496942</guid>
<pubDate>Wed, 01 Jul 2020 17:09:33 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Czy da się napisać aplikację w visual basic i używać ją na androidzie?</title>
<link>https://forum.pasja-informatyki.pl/496868/czy-da-sie-napisac-aplikacje-w-visual-basic-i-uzywac-ja-na-androidzie?show=496882#a496882</link>
<description>

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.techwalla.com/articles/can-i-make-android-apps-with-visual-basic&quot;&gt;https://www.techwalla.com/articles/can-i-make-android-apps-with-visual-basic&lt;/a&gt;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/496868/czy-da-sie-napisac-aplikacje-w-visual-basic-i-uzywac-ja-na-androidzie?show=496882#a496882</guid>
<pubDate>Wed, 01 Jul 2020 08:38:45 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Vb.net WebBrowser problem z HTML5 i Adobe flash player</title>
<link>https://forum.pasja-informatyki.pl/495241/vb-net-webbrowser-problem-z-html5-i-adobe-flash-player?show=495321#a495321</link>
<description>Internet Explorer w wersji 11 nie wspiera HTML5 oraz wtyczki Flash. Zmień element WebBrowser na coś obsługującego silnik Chromium. W przypadku Adobe Flash Player sprawdź czy przeglądarka ma włączoną opcję Flash.</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/495241/vb-net-webbrowser-problem-z-html5-i-adobe-flash-player?show=495321#a495321</guid>
<pubDate>Mon, 22 Jun 2020 06:28:13 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Skrypt z WSH połączony z informacjami systemowymi (a także ich zapisywaniem do pliku)</title>
<link>https://forum.pasja-informatyki.pl/491435/skrypt-z-wsh-polaczony-z-informacjami-systemowymi-takze-ich-zapisywaniem-do-pliku?show=491539#a491539</link>
<description>

&lt;pre class=&quot;brush:vb;&quot;&gt;

Dim WshShell
Dim WshProcEnv
Dim objFSO, objFile
Dim file_name
Dim process_architecture
Dim process_identifier
Dim process_revision
Dim raport

Const OVER_WRITE = True


Set WshShell =  CreateObject(&quot;Wscript.Shell&quot;)
Set WshProcEnv = WshShell.Environment(&quot;Process&quot;)
Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)

process_architecture= WshProcEnv(&quot;PROCESSOR_ARCHITECTURE&quot;)
process_identifier = WshProcEnv(&quot;PROCESSOR_IDENTIFIER&quot;)
process_revision = WshProcEnv(&quot;PROCESSOR_REVISION&quot;)

raport = &quot;Type of CPU on the computer: &quot;  &amp;amp; process_architecture &amp;amp; vbCrLf &amp;amp; _
         &quot;Type of ID: &quot;  &amp;amp; process_identifier &amp;amp; vbCrLf &amp;amp; _
         &quot;Version of the CPU: &quot;  &amp;amp; process_revision

MsgBox  raport, vbOKOnly + vbInformation , &quot;Information about the processor&quot;

file_name = objFSO.BuildPath(WshShell.CurrentDirectory,&quot;dane.txt&quot;)
Set objFile = objFSO.CreateTextFile(file_name, OVER_WRITE)
    objFile.WriteLine(raport)
    objFile.Close&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/491435/skrypt-z-wsh-polaczony-z-informacjami-systemowymi-takze-ich-zapisywaniem-do-pliku?show=491539#a491539</guid>
<pubDate>Sat, 30 May 2020 04:13:25 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Vba procenty</title>
<link>https://forum.pasja-informatyki.pl/488237/vba-procenty?show=488335#a488335</link>
<description>Tutaj w punkcie 2 masz to jasno wyjaśnione.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://tomaszkenig.pl/kurs-excel-vba/instrukcja-warunkowa-if-then-else-w-excel-vba/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://tomaszkenig.pl/kurs-excel-vba/instrukcja-warunkowa-if-then-else-w-excel-vba/&lt;/a&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/488237/vba-procenty?show=488335#a488335</guid>
<pubDate>Thu, 14 May 2020 12:37:53 +0000</pubDate>
</item>
<item>
<title>Powiadomienia na innym komputerze Visual Basic</title>
<link>https://forum.pasja-informatyki.pl/486721/powiadomienia-na-innym-komputerze-visual-basic</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Nie wiem jak zrobić program w Visual Basic, aby po kliknięciu przycisku wysyłał powiadomienie na inny komputer.&lt;br /&gt;
&lt;br /&gt;
Z góry dziękuję za odpowiedź</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/486721/powiadomienia-na-innym-komputerze-visual-basic</guid>
<pubDate>Wed, 06 May 2020 16:27:49 +0000</pubDate>
</item>
<item>
<title>vba- kopiowanie tekstu z worda do worda</title>
<link>https://forum.pasja-informatyki.pl/485827/vba-kopiowanie-tekstu-z-worda-do-worda</link>
<description>

&lt;p&gt;Witam,
&lt;br&gt;
Mam 2 pliki worda. Jeden plik to plik z danymi a drugi to szablon. W pierwszym pliku zaznaczam tekst (który jest sformatowany) i chciałabym, żeby ten tekst skopiowało z oryginalnym formatowaniem do pliku szablon. Mam taki kod:&lt;/p&gt;



&lt;pre class=&quot;brush:vb;&quot;&gt;
    'eksport do Worda
    Set wordApp = CreateObject(&quot;Word.Application&quot;)
    wordApp.Visible = False

    Set wordDoc = wordApp.Documents.Open(&quot;C:\wyciagi\szablon\szablon_wyciag.docm&quot;)

    Set wordSelection = wordApp.Selection
        
        '-- wstawianie tresci -----------------------------
        Selection.Copy
        zaznaczenie = Selection.Text
        'Selection.Find.ClearFormatting
        'Selection.Find.Replacement.ClearFormatting
        
        With wordSelection.Find
            .Text = &quot;$tresc_punktu&quot;
            .Forward = True
            .Replacement.Text = zaznaczenie
            .Wrap = wdFindContinue
        End With
        
        Do While Selection.Find.Execute
            Selection.PasteAndFormat (wdFormatOriginalFormatting)
       Loop
    
    '----- zapisanie do pliku ------------------------------
    wordDoc.SaveAs &quot;C:\wyciagi\wyciag.doc&quot;, FileFormat:=wdFormatXMLDocument
    
    wordDoc.Close (False)
    Set wordDoc = Nothing

    wordApp.Quit
    Set wordApp = Nothing&lt;/pre&gt;



&lt;p&gt;Niestety powyższy kod nie wkleja zaznaczonego tekstu do pliku szablon.&lt;/p&gt;



&lt;p&gt;Jeśli tekst: $tresc_punktu znajduje się w pliku pierwszym to zostanie zamieniony na zaznaczony tekst.&lt;/p&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/485827/vba-kopiowanie-tekstu-z-worda-do-worda</guid>
<pubDate>Fri, 01 May 2020 19:20:57 +0000</pubDate>
</item>
<item>
<title>VBA - Excel - otwieranie folderów o przypisanej nazwie</title>
<link>https://forum.pasja-informatyki.pl/480740/vba-excel-otwieranie-folderow-o-przypisanej-nazwie</link>
<description>

&lt;p&gt;Witam, chciałbym uzyskać informacje, czy w VBA dla Excela mogę zrobić taką funkcję, która po kliknięciu odpowiedniego przycisku będzie wyszukiwała odpowiedni indeks, następnie po znalezieniu go, otworzy folder na dysku. Obecnie mam takie wyszukiwanie po indeksie gdy kliknę na dane pole w arkuszu, wyszukuje mi nr_indeksu, następnie z innego arkusza wyświetla mi informacje i dane przypisane do niego. Chciałbym teraz utworzyć przycisk, który będzie otwierał odpowiedni folder z dysku o nazwie kodu zabranego z pola dane. Zależy mi, aby wyszukać za pomocą nr_indeksu dane opisane jakimś numerem, następnie aby otworzyć folder z danym numerem &quot;dane&quot;. Nie wiem czy jest możliwość aby do ścieżki podczas kompilacji wpisywał się znaleziony numer danych który jest wyszukiwany podczas wywołania numeru indeksu. Bardzo proszę o ewentualne nakierowanie w dobrym kierunku. Z góry dziękuję ! :)&lt;/p&gt;



&lt;p&gt;Kod wyszukiwania informacji i wyświetlania ich po kliknięciu na pole w Arkuszu:&lt;/p&gt;



&lt;pre&gt;
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

nr_indeksu= ActiveCell.Value
wskaznik_wiersza = 1

    Do

    wskaznik_wiersza = wskaznik_wiersza + 1

    If Sheets(&quot;Arkusz&quot;).Cells(wskaznik_wiersza, 3) = &quot;&quot; Then Exit Do

    Loop While Sheets(&quot;Arkusz&quot;).Cells(wskaznik_wiersza, 3) &amp;lt;&amp;gt; nr_indeksu

dane= Sheets(&quot;Arkusz&quot;).Cells(wskaznik_wiersza, 4)

UserForm2.TextBox30.Value = nr_indeksu
UserForm2.TextBox29.Value = dane

UserForm2.Show
Cancel = True

End Sub&lt;/pre&gt;</description>
<category>Visual Basic</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/480740/vba-excel-otwieranie-folderow-o-przypisanej-nazwie</guid>
<pubDate>Tue, 07 Apr 2020 12:22:19 +0000</pubDate>
</item>
</channel>
</rss>