Page 12 of 30 FirstFirst ... 2101112131422 ... LastLast
Results 111 to 120 of 294

Thread: Appendix Thread. ( Codes for other Threads, ( Avinash ).)

  1. #111
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10
    Coding for this Thread
    http://www.excelfox.com/forum/showth...ll=1#post11794


    Code:
    Sub MakeFormulas3() '  http://www.excelfox.com/forum/showthread.php/2390-Apply-Vlookup-formula-in-all-the-available-sheets-in-a-workbook?p=11794&viewfull=1#post11794
    Rem 1 '  Workbooks info
    ' 1a This months book, this workbook. It is the outout book for the current month
    Dim ThisMonthsLatestBook As Workbook, LisWbName As String
     Set ThisMonthsLatestBook = ThisWorkbook ' ActiveWorkbook
     Let LisWbName = ThisMonthsLatestBook.Name
        If InStr(7, LisWbName, Format(Now(), "MMM"), vbTextCompare) = 0 Then MsgBox Prompt:="This workbook is not for " & Format(Now(), "MMMM"): Exit Sub
    Dim BookN As Long
     Let BookN = Mid(LisWbName, 5, InStr(5, LisWbName, "_", vbBinaryCompare) - 5)
    ' 1b Last months book
    Dim sourceBookName As String
     Let sourceBookName = "Book" & BookN - 1 & "_" & Format(DateAdd("m", -1, Now()), "MMM YYYY") & ".xlsm"
    Dim sourceBook As Workbook
     Set sourceBook = Workbooks.Open(ThisWorkbook.Path & "\" & sourceBookName)
    Rem 2  Make records worksheet                                                                  Sub MakeWorkSheetIfNotThere()
    'Dim Wb As Workbook '                                   ' ' Dim:  ' Preparing a "Pointer" to an Initial "Blue Print" in Memory of the Object ( Pigeon Hole with a bit of paper or code lines on that can be filled in to refer to a specific Objec of this type ) . This also us to get easily at the Methods and Properties throught the applying of a period ( .Dot) ( intellisense )                     '
    ' Set Wb = ActiveWorkbook '  '                            Set now (to Active Workbook - one being "looked at"), so that we carefull allways referrence this so as not to go astray through Excel Guessing inplicitly not the one we want...         Set: Values are filled at the memory locations and the directions there are specified in the variable "Blue Print "Pointer". In this case a Filled in Blue Print is passed.      http://www.excelforum.com/excel-programming-vba-macros/1138804-help-understanding-class-instancing-cant-set-ws-new-worksheet-intellisense-offers-it-4.html#post4387191                                '
         If Not Evaluate("=ISREF(" & "'" & "Records" & "'!Z78)") Then '   ( the '  are not important here, but iin general allow for a space in the worksheet name like  "My Records"
         ThisMonthsLatestBook.Worksheets.Add After:=ThisMonthsLatestBook.Worksheets.Item(Worksheets.Count) 'A sheeet is added and will be Active
        Dim wsRcds As Worksheet '
         Set wsRcds = ThisMonthsLatestBook.Worksheets.Item(ThisMonthsLatestBook.Worksheets.Count)        'Rather than rely on always going to the active sheet, we referr to it Explicitly so that we carefull allways referrence this so as not to go astray through Excel Guessing implicitly not the one we want...    Set: Values are filled at the memory locations and the directions there are specified in the variable "Blue Print "Pointer". In this case a Filled in Blue Print is passed.      http://www.excelforum.com/excel-programming-vba-macros/1138804-help-understanding-class-instancing-cant-set-ws-new-worksheet-intellisense-offers-it-4.html#post4387191            ' Values are filled at the memory locations and the directions there are specified in the variable "Blue Print "Pointer". In this case a Filled in Blue Print is passed.      http://www.excelforum.com/excel-programming-vba-macros/1138804-help-understanding-class-instancing-cant-set-ws-new-worksheet-intellisense-offers-it-4.html#post4387191
         wsRcds.Activate: wsRcds.Cells(1, 1).Activate ' ws.Activate and activating a cell sometimes seemed to overcome a strange error
         Let wsRcds.Name = "Records"
        Else ' The worksheet is already there , so I just need to set my variable to point to it
         Set wsRcds = ThisWorkbook.Worksheets("Records")
        End If
    '                                                                                               End Sub
    Rem 3 looping through worksheets
    Dim C As Long, I As Long
    'C = ActiveWorkbook.Worksheets.Count
     'Let C = ThisWorkbook.Worksheets.Count
     Let C = ThisMonthsLatestBook.Worksheets.Count - 1  '   -1 since last worksheet is records worksheet
        'For I = 1 To C
    'Application.ScreenUpdating = True
        For I = 1 To C   '   Sheet1  , Sheet2   , Sheet3 .......
        'what are  our worksheets?                         I   =  1        ,       2 ,      3    ..........
        Dim sourceSheet As Worksheet
         Set sourceSheet = sourceBook.Worksheets.Item(I) '     ("Sheet1")  , Sheet2   , Sheet3 ........
        Dim outputSheet As Worksheet
         Set outputSheet = ThisWorkbook.Worksheets.Item(I) ' ("Sheet1")    , Sheet2   , Sheet3 ........
           
            'Determine last row of source
            With sourceSheet
            Dim SourceLastRow As Long
             SourceLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
            End With
            With outputSheet
            'Determine last row in col P
            Dim OutputLastRow As Long
             OutputLastRow = .Cells(.Rows.Count, "P").End(xlUp).Row
            End With
            'Apply our formula in records worksheet
            With Worksheets("Records")
             Let .Cells.Item(1, I).Value = sourceSheet.Name   '  Header in column as worksheet name
             '.Range("Q2:Q" & OutputLastRow).Formula = "=VLOOKUP($A2,'[" & sourceBook.Name & "]" & sourceSheet.Name & "'!$A$2:$P$" & SourceLastRow & ",3,0)"
             .Range("" & CL(I) & "2:" & CL(I) & "" & OutputLastRow).Value = "=VLOOKUP(" & outputSheet.Name & "!$A2,'" & sourceBook.Path & "\" & "[" & sourceBook.Name & "]" & sourceSheet.Name & "'!$A$2:$P$" & SourceLastRow & ",3,0)"
    '        .Range("" & CL(I) & "2:" & CL(I) & "" & OutputLastRow).Value = .Range("" & CL(I) & "2:" & CL(I) & "" & OutputLastRow).Value
            End With
         'MsgBox ActiveWorkbook.Worksheets(I).Name
         MsgBox ActiveWorkbook.Worksheets.Item(I).Name
        Next I
    'Next P
    Rem 4
    Dim cel As Range
        With Worksheets("Records").UsedRange
            For Each cel In .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count)
                If IsError(cel.Value) Then
                '
                Else
                    If cel.Value < 3 Then
                     cel.Font.Color = vbRed
                    Else
                     cel.Font.Color = vbGreen
                    End If
                End If
            Next cel
        End With
        
    'Close the source workbook, don't save any changes
     sourceBook.Close False
    ' Application.ScreenUpdating = True
    End Sub
    '   https://www.excelforum.com/development-testing-forum/1101544-thread-post-appendix-no-reply-needed-please-do-not-delete-thanks-4.html#post4213980
    Function CL(ByVal lclm As Long) As String 'Using chr function and Do while loop      For example http://www.excelforum.com/excel-programming-vba-macros/796472-how-to-go-from-column-number-to-column-letter.html
    Dim rest As Long 'Variable for what is "left over" after subtracting as many full 26's as possible
        Do
        '    Let rest = ((lclm - 1) Mod 26) 'Gives 0 to 25 for Column Number "Left over" 1 to 26. Better than ( lclm Mod 26 ) which gives 1 to 25 for clm 1 to 25 then 0 for 26
        '    Let FukOutChrWithDoWhile = Chr(65 + rest) & FukOutChrWithDoWhile 'Convert rest to Chr Number, initially with full number so the "units" (0-25), then number of 26's left over (if the number was so big to give any amount of 26's in it, then number of 26's in the 26's left over (if the number was so big to give any amount of 26 x 26's in it, Enit ?
        '    'OR
        Let CL = Chr(65 + (((lclm - 1) Mod 26))) & CL
        Let lclm = (lclm - (1)) \ 26 'This gives the number of 26's ( if any ), but just the excact part, in the next number down , - so applying the rest formula to this new number will again leave a difference "left over" rest.
        'lclm = (lclm - (rest + 1)) \ 26 ' As the number is effectively truncated here, any number from 1 to (rest +1)  will do in the formula
        Loop While lclm > 0 'Only loop further if number was big enough to still have 0-25's in it
    End Function
    Attached Files Attached Files

  2. #112
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10
    Notes in support of this Forum Question:
    https://www.eileenslounge.com/viewto...p?f=18&t=33834

    Trying to figure out how Excel Clipboard ( or maybe Office clipboard ) is interacting with the Windows clipboard when trying to paste into Excel a text string,….

    I have a text string. I add to it, manipulate it a bit, then put it in "the clipboard", ( probably the windows clipboard ) , then do an Excel Worksheets Paste

    Simplified example
    I have this already in a string,
    "A" & vbCr & vbLf & "C"
    Seen in another way:
    A_vbCr_vbLf_B
    The first representation is in a typical code line convention, the second an attempt at a more "real" view
    There are 4 characters there. The middle two are examples of types that are often referred to as "invisible" characters. (These two typically instruct systems to go to a new line)
    Most software that visibly gives you some sort of text to see , would usually interpret that as two lines of text. For example, Excel would usually interpret that such as to display you something like this, if you somehow "put it in" the start ( top left ) of a spreadsheet:
    Row\Col
    A
    1
    A
    2
    C


    I want to put an extra cell with split line text in it, simplified like this:
    Row\Col
    A
    1
    A
    2
    X
    Y
    3
    C


    Sometime or other I have learnt that Excel recognises a single vbLf to split up lines of text within a cell. But it turns out to be bit more complicated than that if you want the text string in the Windows Clipboard to come out as you want it in Excel.

    The second part of this macro seems to usually achieve the second screenshot above
    Code:
    Sub TestvbLf_1()
    Dim objDataObject As Object: Set objDataObject = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    Dim StringBack As String
    ' Fill two rows , in 1 column
     ActiveSheet.Cells.Clear ' This is important to remove any formatting that might distort results
     objDataObject.SetText "A" & vbCr & vbLf & "C": objDataObject.PutInClipboard
     ActiveSheet.Paste Destination:=ActiveSheet.Range("A1")
     objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText()
     Call WtchaGot(StringBack) '         "A" & vbCr & vbLf & "C"
    ' Put an extra cell with split line text in it
     ActiveSheet.Cells.Clear '
     objDataObject.SetText "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C": objDataObject.PutInClipboard
     ActiveSheet.Paste Destination:=ActiveSheet.Range("A1")
     objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText()
     Call WtchaGot(StringBack) '          "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C"
     
    End Sub
    ( The function, WtchaGot( ) can be found here: http://www.excelfox.com/forum/showth...ll=1#post10946 )




    Here are some further sample code snippets and discussions

    This code snippet suggest to me that the Windows clipboard is being used, as .Clear does not empty "the clipboard" , as one more typically annoyingly experiences in Excel work when copying things manually or with VBA in Excel
    Code:
    Sub TestvbLf_2()
    Dim objDataObject As Object: Set objDataObject = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    Dim StringBack As String
    
    ' Put an extra cell with split line text in it
     ActiveSheet.Cells.Clear '
     objDataObject.SetText "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C": objDataObject.PutInClipboard
     ActiveSheet.Paste Destination:=ActiveSheet.Range("A1")
     objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText()
     Call WtchaGot(StringBack) '   ---    "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C"
     
     ActiveSheet.Cells.Clear ' This does not clear the clipboard, so next line gives the same results, which...
     ActiveSheet.Paste Destination:=ActiveSheet.Range("A1") '   suggests that the Windows  clipboard is being used
     Call WtchaGot(StringBack) '   ---    "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C"
    '
    End Sub
    Finally we see this, the orange of the clipboard icon indicating something is in "the clipboard", presumably the windows clipboard, since , as said, .Clear does not clear that icon, and also we see that the office clipboard is empty…
    TestvbLf_2.JPG : https://imgur.com/dEbsaPE
    Attachment 2565

    ( Using Excel 2007 32 bit )
    A 19 Dez 2019
    Lenf is 11
    A
    "X
    Y"
    C
    X
    Y
    1 A 65
    C 2 13
    3 10
    4 " 34
    5 X 88
    6 10
    7 Y 89
    8 " 34
    9 13
    10 10
    11 C 67
    Worksheet: WotchaGotInString
    The second two columns are produced by function WtchaGot( ) , and give a breakdown of the 11 characters in the string:
    "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C"
    A vbCr vbLf " X vbLf Y " vbCr vbLf C


    Further investigation in next post
    Attached Images Attached Images

  3. #113
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10

    Thoughts on adding split lines in Excel cells via the ( probably windows ) Clipboard

    In support of these posts

    https://stackoverflow.com/questions/...60767#54960767
    https://www.eileenslounge.com/viewto...p?f=18&t=33834



    Thoughts on adding split lines in Excel cells via the ( probably windows ) Clipboard

    The following code snippet is typical of those which got me to the solution of how to manipulate a text string so that it pastes into Excel a cell with multiple lines.
    The first section shows me what the text in "the clipboard" looks like after using Excel ways to copy my final desired test form , after using Excel ways to produce it. It gives this sort of output
    "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C" & vbCr & vbLf
    A vbCr vbLf " X vbLf Y " vbCr vbLf C vbCr vbLf
    TestvbLf_3.jpg : https://imgur.com/oPXJIkG
    Attachment 2566

    Either code sections 2 and 3 would error, presumably because the windows clipboard has been emptied. That is not totally understandable. We know that we had something in the windows clipboard. Doing things that empty "clipboards" , possibly other than the window clipboard, seem also somehow to remove things from the windows clipboard.
    Possibly we could explain this by saying that as Excel filled the windows clipboard as a sort of extra thing to do after primarily filling its clipboard, then some linking wiring in place to do that also resulted into it clearing the windows clipboard when it cleared its clipboard
    Code section 4 erroring is less understandable, as we did not use normal Excel ways to fill the window clipboard, but never the less .Clear seems to empty it.
    Code section 5 erroring is similarly less understandable, since it is generally considered that Application.CutCopyMode = False clears the Excel clipboard

    Before going on to sections 7 and 8, copy something to the "clipboard" from anywhere.
    We find that section 7 and 8 would still error. This once again seems to be caused by either .Clear or .CutCopyMode = False. It suggests that there is some link to the windows clipboard that causes it to be cleared. It suggests perhaps that something has been set to link things in the windows clipboard from Excel or office, possibly to get some formatting parameters. If you put anything into the windows clipboard, it will still be cleared when doing .Clear or .CutCopyMode = False , by virtue of this linking "wiring"

    Section 9 probably removes this linking wiring.
    When a manual copy is then made in the following sections , possibly a new wiring is set up which has a different sort of dependency.

    Before going on to section 10 and then again before going on to section 11, copy something to the "clipboard" from anywhere.
    The code lines of .Clear or .CutCopyMode = False at the start of these sections do not remove the orange from the icon top left, and code sections 10 and 11 do not error. This supports the idea that a link was made to the windows clipboard that works slightly differently.



    Code:
    Sub TestvbLf_3()
    ActiveSheet.Cells.Clear
    
    
    Dim objDataObject As Object: Set objDataObject = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    Dim StringBack As String
    ' Section 1
     ActiveSheet.Range("A1").Value = "A"
     ActiveSheet.Range("A2").Value = "X" & vbLf & "Y"
     ActiveSheet.Range("A3").Value = "C"
     ActiveSheet.Range("A1:A3").Copy
     objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText()
     Call WtchaGot(StringBack)
     'ActiveSheet.Cells.Clear ' --- This clears "the clipboard",
     ActiveSheet.Paste Destination:=ActiveSheet.Range("D1")
     
    ' Section 2
    ' ActiveSheet.Cells.Clear ' --- This clears "the clipboard"
    ' objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText() ' This errors
    ' Call WtchaGot(StringBack)
    
    ' Section 3
    ' Application.CutCopyMode = False
    ' objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText() ' This errors
    ' Call WtchaGot(StringBack)
    
    ' Section 4
    ' objDataObject.SetText "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C": objDataObject.PutInClipboard
    ' ActiveSheet.Cells.Clear
    ' objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText() ' This errors
    ' Call WtchaGot(StringBack)
    
    ' Section 5
    ' objDataObject.SetText "A" & vbCr & vbLf & """" & "X" & vbLf & "Y" & """" & vbCr & vbLf & "C": objDataObject.PutInClipboard
    ' Application.CutCopyMode = False
    ' objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText()
    ' Call WtchaGot(StringBack)
     
    Stop  ' BEFORE DOING THE NEXT CODE SECTIONs, copy something manually via Ctrl+c ...
    ' Section 7
    ' ActiveSheet.Cells.Clear
    ' objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText() ' This errors
    ' Call WtchaGot(StringBack)
    '
    '' Section 8
    ' Application.CutCopyMode = False
    ' objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText() ' This errors
    ' Call WtchaGot(StringBack)
    
    ' Section 9
     ActiveSheet.Cells.Clear  ' This I think breaks the link from other clipboards to the windows clipboard.
    ' Application.CutCopyMode = False ' this line as alternative to the last has the same effect
    
    Stop  ' BEFORE DOING THE NEXT CODE SECTIONs, copy something manually via Ctrl+c ...
    
    ' Section 10
     ActiveSheet.Cells.Clear
     objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText()
     Call WtchaGot(StringBack)
     ActiveSheet.Paste Destination:=ActiveSheet.Range("E1")
    
    Stop  ' BEFORE DOING THE NEXT CODE SECTIONs, copy something manually via Ctrl+c ...
    
    ' Section 11
     Application.CutCopyMode = False
     objDataObject.GetFromClipboard: Let StringBack = objDataObject.GetText()
     Call WtchaGot(StringBack)
     ActiveSheet.Paste Destination:=ActiveSheet.Range("H1")
    
    End  Sub
    Attached Images Attached Images

  4. #114
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10
    Some notes in support of these Threads
    http://www.eileenslounge.com/viewtopic.php?f=18&t=33775
    http://www.eileenslounge.com/viewtop...d7141c#p262009
    http://www.excelfox.com/forum/showth...ll=1#post11570
    http://www.excelfox.com/forum/showth...ll=1#post11608




    VPN and IP Addresses
    Some of the initial investigations into testing VPN and in looking at problems showed that it was useful to be able to monitor various IP addresses.
    The main (Public) address, as already discussed, ( http://www.excelfox.com/forum/showth...ll=1#post11597 ) , is of course important to know . There is also a "local host", which more typically is set to the same number for everyone, (127.0.0.1 ). This is a number which conventionally is used to allow direct access to network aspects of your computer which might otherwise be accessed externally in some way or another. A characteristic of VPN software is that it manipulate your computer in a way such that, amongst other things , this number will change to the internal address used at your VPN provider to identify you within their system. It is part of the trickery in the Client software, that you "looking at yourself" gets manipulated into looking somewhere else. The provider in some ways is then in control of your computer allowing them to give the impression that your computer is physically somewhere else: Part of your computer "Soul" is with them.

    Public address
    Manually this is achieved typically by visiting various sites that provide you with this information. The automated way still needs to use such sites. The reason for this is that you need to be able to get the information by accessing yourself in the way that another computer connected to the internet "gets at you". Part of this process involves obtaining your public address as you communicate initially with them. We could scrap any site offering the service and pick out the IP address information.
    We can simplify the coding to do this by accessing a site available which only gives the IP information, and which shows as the website that you "see" just that IP address number.
    So for example if you type in your browser URL bar, http://myip.dnsomatic.com/ , then all you will see is the IP address. You will even see only that if you are in Google Chrome Browser and right click and view the Page Source
    Page Source myip dnsomatic .JPG : https://imgur.com/uceUKE4

    This information will be the entire .responseText received back. In normal scrapping coding you might feed this supplied text string into an object model software which allows you to then pick out using OOP type techniques what you want. If we use the site http://myip.dnsomatic.com/ , we don't need to take that extra step, and can simply view the entire .responseText , as this is the exact info we want.

    ( I found that sometimes the first one or few attemps did not work in the next coding, but almost always after a few attemopts it worked. So the recursion technique is used to call the Function a few times , if necerssary )

    Code:
    Option Explicit
    Sub TestPubicIP()
    Dim strIP As String
     Call PubicIP(strIP)
     MsgBox prompt:=strIP
     'Call WtchaGot(strIP)
    End Sub
    ' Because we have ByRef PublicIP  , the is effectively taking the variable  strIP  into the function, and similarly in the  recursion Call line  that variable is taken.  Hopefull in one of the 5 attepts at running the Function  it will be filled.. We don't actually fill the pseudo variable  PubicIP  so no value is returned directly by the Function. (So we could have used a Sub()routine instead)  To get a returned value we look at the value in  strIP  after runing the routine , because , as said, hopefully that particular variable will have been added to
    Function PubicIP(ByRef PublicIP As String, Optional ByVal Tries As Long) As String
        If Tries = 5 Then Exit Function
     On Error GoTo Bed
        With CreateObject("msxml2.xmlhttp")
         .Open "GET", "http://myip.dnsomatic.com", True ' 'just preparing the request type, how and what type... "The True/False argument of the HTTP Request is the Asynchronous mode flag. If set False then control is immediately returns to VBA after Send is executed. If set True then control is returned to VBA after the server has sent back a response.
         'No extra info here for type GET
         '.setRequestHeader bstrheader:="Ploppy", bstrvalue:="Poo"
         .setRequestHeader bstrheader:="If-Modified-Since", bstrvalue:="Sat, 1 Jan 2000 00:00:00 GMT" '  https://www.autohotkey.com/boards/viewtopic.php?t=9554  ---   It will caching the contents of the URL page. Which means if you request the same URL more than once, you always get the same responseText even the website changes text every time. This line is a workaround : Set cache related headers.
         .send ' varBody:= ' No extra info for type GET. .send actually makes the request
            While .readyState <> 4: DoEvents: Wend ' Allow other processes to run while the web page loads. Think this is part of the True option
        Dim PageSrc As String: Let PageSrc = .responseText ' Save the HTML code in the (Global) variable. ': Range("P1").Value = PageSrc 'For me for a print out copy to text file etc.    The responseText property returns the information requested by the Open method as a text string
        End With
     Let PublicIP = PageSrc: ' Debug.Print PubicIP
     'Call WtchaGot(PubicIP)
         If PublicIP = "" Then Call PubicIP(PublicIP, Tries + 1) ' Recursion Call line. I do this because sometines it seems to need more than one try before it works
    Exit Function
    Bed:
     Let PubicIP = Err.Number & ":  " & Err.Description: Debug.Print PubicIP
    End Function

    As an alternative , I have below a similar coding. It gets the page source from another site which shows your IP address. I found when looking at the page source in Google Chrome, that I could see the IP address conveniently showing between two simple text lines :
    Page Source whatismyipaddress_com .JPG : https://imgur.com/LSvORAe
    Attachment 2567

    To VBA ( or most computer things), that text looks like a long string, and at that point we can imagine that it looks to the computer like any one of these 3 representations
    ……. ipt -->" & vbLf & "87" & "." & "101" & "." & "95" & "." & "204" & vbLf & "<!—do not scr……..
    …….ipt --> vbLf 87.101.95.204 vbLf <!—do not scr ………….

    …….ipt --> vbLf
    87.101.95.204 vbLf
    <!—do not scr ……
    …….


    We apply some simple VBA strings manipulation techniques to extract just the IP address number
    Code:
    '
    Sub TestPubicIPwhatismyipaddress_com()
    Dim strIP As String
     Let strIP = PubicIPwhatismyipaddress_com
     MsgBox prompt:=strIP
    End Sub
    Function PubicIPwhatismyipaddress_com() As String
     On Error GoTo Bed
        With CreateObject("msxml2.xmlhttp")
         .Open "GET", "https://whatismyipaddress.com/de/meine-ip", False ' 'just preparing the request type, how and what type... "The True/False argument of the HTTP Request is the Asynchronous mode flag. If set False then control is immediately returns to VBA after Send is executed. If set True then control is returned to VBA after the server has sent back a response.
         'No extra info here for type GET
         '.setRequestHeader bstrheader:="Ploppy", bstrvalue:="Poo"
         .setRequestHeader bstrheader:="If-Modified-Since", bstrvalue:="Sat, 1 Jan 2000 00:00:00 GMT" '  https://www.autohotkey.com/boards/viewtopic.php?t=9554  ---   It will caching the contents of the URL page. Which means if you request the same URL more than once, you always get the same responseText even the website changes text every time. This line is a workaround : Set cache related headers.
         .send ' varBody:= ' No extra info for type GET. .send actually makes the request
            While .READYSTATE <> 4: DoEvents: Wend ' Allow other processes to run while the web page loads. Think this is part of the True option
        Dim PageSrc As String: Let PageSrc = .responsetext ' Save the HTML code in the (Global) variable. ': Range("P1").Value = PageSrc 'For me for a print out copy to text file etc.    The responseText property returns the information requested by the Open method as a text string
        End With
     Let PubicIPwhatismyipaddress_com = PageSrc: ' Debug.Print PubicIPwhatismyipaddress_com
    Dim IPadres As String, posIPadres1 As Long, posIPadres2 As Long
     Let posIPadres1 = InStr(1, PageSrc, "<!-- do not script -->", vbBinaryCompare)  '      Screenshot --->   Page Source whatismyipaddress_com .JPG : https://imgur.com/LSvORAe
     Let posIPadres2 = InStr(posIPadres1 + 1, PageSrc, "<!-- do not script -->", vbBinaryCompare)
     Let PubicIPwhatismyipaddress_com = Mid(PageSrc, posIPadres1 + 23, ((posIPadres2 - 1) - (posIPadres1 + 23)))
     Call WtchaGot(PubicIPwhatismyipaddress_com)
    Exit Function
    Bed:
     Let PubicIPwhatismyipaddress_com = Err.Number & ":  " & Err.Description: Debug.Print PubicIPwhatismyipaddress_com
    End Function



    Local Host address and computer name in the next post




    Attached Images Attached Images

  5. #115
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10




    Local Host address, Computer name
    There are a couple of Win32 APIs which will get this information.
    We just need to write a small amount of coding to get the function to do what we want and also a bit of manipulaation to give the information as we need it.
    For the computer name this is simply a function to give us a string.
    Code:
    Option Explicit
    Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, ByRef nSize As Long) As Long
    '  "GetComputerNameA" (ByVal lpBuffer As String, ByRef nSize As Long) As Long
    Function ComputerName() As String                                                                                                                                                                        ' GHB and sex..
    Dim NmeLen As Long, lngX As Long, strCompName As String
     Let NmeLen = 999: Let strCompName = "                                     "     ' variables must be initialised or API things often dont work                                                            ' String$(50, 0)
     Let lngX = GetComputerName(strCompName, NmeLen) '
        If lngX <> 0 Then ' returns 1 if it works
         Let ComputerName = strCompName '   Left$(strCompName, NmeLen)   ' The first argument variable gets like a LSet done on it
        Else
         Let ComputerName = "Couldn't get Computer name"
        End If
     Let ComputerName = Left$(ComputerName, NmeLen) ' We must do this as there is a  Chr(0)  after the name ....  Let ComputerName = Trim(ComputerName) ' this is no good, - it leaves Chr(0) on the end which means that ComputerName is the last thing that will get printed
     'Call WtchaGot(ComputerName)
    End Function
    




    The Win32 API for the local IP address is slightly more complicated. It will give us a table/ array of all the IP addresses held. The first is generally that we are interested in. it seems to be added when a VPN connection is made
    Code:
    Option Explicit
    Private Declare Function GetIpAddrTable_API Lib "IpHlpApi" Alias "GetIpAddrTable" (ByRef pIPAddrTable As Any, ByRef pdwSize As Long, ByVal bOrder As Long) As Long    '   http://www.source-code.biz/snippets/vbasic/8.htm
    '  "GetIpAddrTable" (ByRef pIPAddrTable As Any, ByRef pdwSize As Long, ByVal bOrder As Long) As Long
    Public Function GetIpAddrTable() As String  '       Christian d'Heureuse, www.source-code.biz  http://www.source-code.biz/snippets/vbasic/8.htm
    Rem 1 We give the API function some info , and that seems to make it fill up an array with table values
    Dim Buf(0 To 1234) As Byte ' Buf(0 To 511) As Byte ' must be Byte or overflow at NrOfEntries
    Dim BufSize As Long: Let BufSize = 12345
    Dim rc As Long: Let rc = GetIpAddrTable_API(Buf(0), BufSize, 1)
       'If rc <> 0 Then Err.Raise vbObjectError, , "GetIpAddrTable failed with return value " & rc
    Dim NrOfEntries As Integer: NrOfEntries = Buf(1) * 256 + Buf(0)
       'If NrOfEntries = 0 Then GetIpAddrTable = Array(): Exit Function
    
    Dim i As Long
       For i = 0 To NrOfEntries - 1
        Dim j As Long, s As String
          For j = 0 To 3
          Dim Indcy As Long: Let Indcy = 4 + i * 24 + j
           s = s & IIf(j > 0, ".", "") & Buf(Indcy): Debug.Print Indcy & "   " & Buf(Indcy) ' This code line just builds the final string for each IP address, with a "." before all but the first of the 4 number parts  ---  for example like  192 . 168 . 2 . 110
          Next j
         Dim strIPs As String: Let strIPs = strIPs & "   " & s: Let s = ""
        Next
       GetIpAddrTable = strIPs: Debug.Print strIPs
    End Function
    
    '    4   127
    '    5   0
    '    6   0
    '    7   1
    '    28   192
    '    29   168
    '    30   2
    '    31   110
    '       127.0.0.1   192.168.2.110                                                                                          ' _
    
    '    4   10
    '    5   132
    '    6   13
    '    7   113
    '    28   127
    '    29   0
    '    30   0
    '    31   1
    '    52   192
    '    53   168
    '    54   2
    '    55   110
    '       10.132.13.113   127.0.0.1   192.168.2.110
    '     1  2  3    4   5   6  7      8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
    '    25 26 27   28  29  30  31     32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
    '    49 50 51   52  53  54  55
    '               10  132  13  127
    '               127  0   0   1
    '               192 168  2  110

    If we examine that coding above, and experiment with what it does, we see a couple of things:
    Rem 1
    _ It is doing a strange thing, as API's often do. That is to say the API works similarly to a normal VBA function, except the way each argument is a mystery.. following some set of rules/coding which probably the author wrote when he was drunk and no one can remember anymore.
    You must make an array of Byte types. The array should be fairly big.
    You must give the first array element and the size of the array to the API Function.
    Then magically the array gets filled. Presumably some internally held table is put into the array
    Rem 2
    A bit of maths is done to pick out the elements we want from the returned filled array

    The final analysis here of a typical output can be helpful to try and understand another way to get this information
    Code:
    '     1  2  3    4   5   6  7      8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
    '    25 26 27   28  29  30  31     32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
    '    49 50 51   52  53  54  55
    '               10  132  13  127
    '               127  0   0   1
    '               192 168  2  110
    Or maybe not. I am not sure. I doubt many people are…




  6. #116
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10
    Coding in support of this post
    http://www.excelfox.com/forum/showth...ll=1#post11808


    Code:
    Option Explicit '
    Sub txtfilesinworksheetwithFILENAMEColumnB() '  http://www.excelfox.com/forum/showthread.php/2392-VBA-Copy-files-in-excel-edit-and-save?p=11808&viewfull=1#post11808
    Rem 1 Worksheets info
    Dim WsFlNme As Worksheet
     Set WsFlNme = ThisWorkbook.Worksheets("FILENAME")
    Rem 2 Copy .txt files in worksheets
    '2a) Copy .txt files in worksheet with FILENAME (Column B)
    '2a)(i) Get the entire text file as a string
    Dim FileNum As Long: Let FileNum = FreeFile(1) ' The "highway/ street/ link" to be built to transport the text will be given a number. It must be unique. So we use for convenience, the Freefile function: it returns an integer that represents the next file number that the Open statement can use.  The optional argument for the range number is a variant that is used to specify a range from which the next free file number is returned. Enter a value of data type 0 (default) to return a file number in the range 1 - 255 inclusive. Enter 1 to return a file number in the range 256 - 511.   https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/freefile-function  . Note also : Use file numbers in the range 1-255, inclusive, for files not accessible to other applications. Use file numbers in the range 256-511 for files accessible from other applications
    Dim PathAndFileName As String, strtxtFile As String
     Let PathAndFileName = ThisWorkbook.Path & "\vbadumb.txt"
      Open PathAndFileName For Binary As #FileNum 'Open Route to data. Binary is a fundemental type data input...
        strtxtFile = VBA.Strings.Space$(LOF(FileNum)) '....and wot recives it hs to be a string of exactly the right length
        Get #FileNum, , strtxtFile                  'The  Get  statement reads back from an open route to data into the  given variable
      Close #FileNum
    ' Call WtchaGot(strtxtFile) '  ---   If we were to examine that string in strtxtFile, then we would see something like    "1" & vbCr & vbLf & "2" & vbCr & vbLf & "3"
    Rem 3 Put the text data inti the (Windows clipboard)
    Dim objDataObject As Object: Set objDataObject = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") ' https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/dataobject-object   A holding area for formatted text data used in transfer operations. Also holds a list of formats corresponding to the pieces of text stored in the DataObject.   .....
    '  .....A DataObject can contain one piece of text for the Clipboard text format, and one piece of text for each additional text format, such as custom and user-defined formats.  A DataObject is distinct from the Clipboard. A DataObject supports commands that involve the Clipboard and drag-and-drop actions for text. When you start an operation involving the Clipboard (such as GetText) or a drag-and-drop operation, the data involved in that operation is moved to a DataObject.   The DataObject works like the Clipboard. If you copy a text string to a DataObject, the DataObject stores the text string. If you copy a second string of the same format to the DataObject, the DataObject discards the first text string and stores a copy of the second string. It stores one piece of text of a specified format and keeps the text from the most recent operation.
    objDataObject.SetText strtxtFile: objDataObject.PutInClipboard ' This often seems to result in putting infomation into the Windows Clipboard
    Rem 4 Paste out to the worksheet
     WsFlNme.Paste Destination:=WsFlNme.Range("B1") ' If we paste the entire string in / at B1 , then the  vbCr & vbLf  in the string will be interpreted by Excel as the row seperator, so the entire string will be split over 3 lines
    End Sub
    

  7. #117
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10

    The procedure entry point "EnumCalendarInfoExEx" was not found in the DLL "KERNEL32.dll"

    In support of theses Threads:
    http://www.eileenslounge.com/viewtop...249846#p249846
    http://www.excelfox.com/forum/showth...quot-KERNEL32)
    http://www.excelfox.com/forum/showth...ll=1#post10923





    The procedure entry point "EnumCalendarInfoExEx" was not found in the DLL "KERNEL32.dll"


    I thought I had been sensible and chosen a safe option in XP of download but manually determine Install time
    Updates Option Download but manually determine Install time.jpg : https://imgur.com/ocsOVbl , https://imgur.com/X0eB8AG
    But somehow I got a full load of updates at some point recently on one of my XP machines, possibly at the point of turning the Laptop off.

    I noted manually all the office updates and did various comparisons with my list of "Good" and "Bad" updates, but that only revealed as possible bads , the Active X control Killer , KB3054873. Sure enough my control buttons were dead, but after removing KB3054873. They immediately started working again.

    None of the XP killing known bads were found, but some I have not previously seen were found.
    Update für Microsoft Outlook 2010 (KB4475604) 32-Bit-Edition Letzte Änderung: 08.10.2019
    Sicherheitsupdate für Microsoft Excel 2010 (KB4484130) 32-Bit-Edition Letzte Änderung: 03.10.2019
    Sicherheitsupdate für Microsoft Office 2010 (KB4475569) 32-Bit-Edition Letzte Änderung: 03.10.2019
    Sicherheitsupdate für Microsoft Office 2010 (KB4475599) 32-Bit-Edition Letzte Änderung: 05.09.2019
    Sicherheitsupdate für Microsoft Office 2010 (KB4464566) 32-Bit-Edition Letzte Änderung: 05.09.2019
    Sicherheitsupdate für Microsoft Word 2010 (KB4475533) 32-Bit-Edition Letzte Änderung: 08.08.2019
    Update für Microsoft Filter Pack 2.0 (KB3114879) 32-Bit-Edition Letzte Änderung: 09.07.2019

    Code:
     https://www.catalog.update.microsoft...px?q=KB4475604
    Updatedetails
    Update für Microsoft Outlook 2010 (KB4475604) 32-Bit-Edition
    Letzte Änderung: 08.10.2019
    Größe: 79,8 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Outlook 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Outlook 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 4475604
    Weitere Informationen:
    https://support.microsoft.com/kb/4475604
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    https://www.catalog.update.microsoft...px?q=KB3114879
    Updatedetails
    Update für Microsoft Filter Pack 2.0 (KB3114879) 32-Bit-Edition
    Letzte Änderung: 09.07.2019
    Größe: 4,4 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Filter Pack 2.0 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Filter Pack 2.0 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 3114879
    Weitere Informationen:
    https://support.microsoft.com/kb/3114879
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    https://www.catalog.update.microsoft...px?q=KB4475604
    Updatedetails
    Update für Microsoft Outlook 2010 (KB4475604) 32-Bit-Edition
    Letzte Änderung: 08.10.2019
    Größe: 79,8 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Outlook 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Outlook 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 4475604
    Weitere Informationen:
    https://support.microsoft.com/kb/4475604
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    
    https://www.catalog.update.microsoft...px?q=KB4464566
    Updatedetails
    Sicherheitsupdate für Microsoft Office 2010 (KB4464566) 32-Bit-Edition
    Letzte Änderung: 05.09.2019
    Größe: 8,2 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4464566
    Weitere Informationen:
    https://support.microsoft.com/kb/4464566
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    https://www.catalog.update.microsoft...px?q=KB4475533
    Updatedetails
    Sicherheitsupdate für Microsoft Word 2010 (KB4475533) 32-Bit-Edition
    Letzte Änderung: 08.08.2019
    Größe: 13,3 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Word 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Critical
    KB-Artikelnummern: 4475533
    Weitere Informationen:
    https://support.microsoft.com/kb/4475533
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    https://www.catalog.update.microsoft...px?q=KB4484130
    Updatedetails
    Sicherheitsupdate für Microsoft Excel 2010 (KB4484130) 32-Bit-Edition
    Letzte Änderung: 03.10.2019
    Größe: 19,8 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Excel 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4484130
    Weitere Informationen:
    https://support.microsoft.com/kb/4484130
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    
    https://www.catalog.update.microsoft...px?q=KB4475599
    Updatedetails
    Sicherheitsupdate für Microsoft Office 2010 (KB4475599) 32-Bit-Edition
    Letzte Änderung: 05.09.2019
    Größe: 2,9 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4475599
    Weitere Informationen:
    https://support.microsoft.com/kb/4475599
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    
    https://www.catalog.update.microsoft...px?q=KB4475569
    Updatedetails
    Sicherheitsupdate für Microsoft Office 2010 (KB4475569) 32-Bit-Edition
    Letzte Änderung: 03.10.2019
    Größe: 1,7 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4475569
    Weitere Informationen:
    https://support.microsoft.com/kb/4475569
    Support-URL:
    https://support.microsoft.com/?LN=de-de

    Unfortunately removing all those did not cure the XP problem, even after a computer restart.

    I tried a simple coding to compare a previous updates list from January 2019 to that for now, at December, 2019
    Code:
    Option Explicit
    Sub compareJan2019ToDec2019() '  Laptop Froggy december 2019 .... The procedure entry point "EnumCalendarInfoExEx" was not found in the DLL "KERNEL32.dll"    The procedure entry point "EnumCalendarInfoExEx" was not found in the DLL "KERNEL32.dll"
    '  Updates from last January
     Dim rngSrch As Range: Set rngSrch = Worksheets("Frogy29thjan2019").Range("A1:A" & Worksheets("Frogy29thjan2019").UsedRange.Rows.Count & "")
    '  Update list for December after killing downloads came probably after turning off computer
     Dim rngDecUpdts As Range: Set rngDecUpdts = Worksheets("Froggy30thDec2019").Range("A1:A" & Worksheets("Froggy30thDec2019").Range("A" & Rows.Count & "").End(xlUp).Row & "")
    '
    Dim rng As Range
        For Each rng In rngDecUpdts
        Dim varMtch As Variant
         Let varMtch = Application.Match(rng, rngSrch, 0)
            If IsError(varMtch) Then
            MsgBox prompt:=rng.Value
            Dim strMsg As String
             Let strMsg = strMsg & rng.Value & vbCr & vbLf
            Else
            End If
        Next rng
     MsgBox prompt:=strMsg: Debug.Print strMsg ' Fron VB Editor , Hit  Ctrl+g   , then you can copy the list from the Immediate window which should come up after hitting  Ctrl+g
    End Sub
    This was the result for new updates:
    KB3114879
    KB4475604
    KB2589318
    KB4462172
    KB4464566
    KB4475533
    KB3115314
    KB4484130
    KB4475599
    KB4475569
    KB4018363
    KB3114559
    KB4461626




    ……………….Continued in next post………………………..



    Ref
    https://www.catalog.update.microsoft.com/Home.aspx



  8. #118
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10
    ………………….from last post……………..


    So looking further at these "new" updates:
    KB3114879
    KB4475604
    KB2589318
    KB4462172
    KB4464566
    KB4475533
    KB3115314
    KB4484130
    KB4475599
    KB4475569
    KB4018363
    KB3114559
    KB4461626

    Code:
     https://www.catalog.update.microsoft.com/Search.aspx?q=KB4462172
    Update für Microsoft Office 2010 (KB4462172) 32-Bit-Edition
    Letzte Änderung: 13.02.2019
    Größe: 7,1 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Office 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Office 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 4462172
    Weitere Informationen:
    https://support.microsoft.com/kb/4462172
    Support-URL:
    https://support.microsoft.com/?LN=de-de
     
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4461626
    Update für Microsoft Office 2010 (KB4461626) 32-Bit-Edition
    Letzte Änderung: 12.03.2019
    Größe: 2,6 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Office 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Office 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 4461626
    Weitere Informationen:
    https://support.microsoft.com/kb/4461626
    Support-URL:
    https://support.microsoft.com/?LN=de-de
     
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4018363
    Update für Microsoft Access 2010 (KB4018363) 32-Bit-Edition
    Letzte Änderung: 12.03.2019
    Größe: 7,3 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Access 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Access 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 4018363
    Weitere Informationen:
    https://support.microsoft.com/kb/4018363
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB2589318
    Update für Microsoft Office 2010 (KB2589318) 32-Bit-Edition
    Letzte Änderung: 10.08.2015
    Größe: 747 KB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Office 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Office 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 2589318
    Weitere Informationen:
    http://support.microsoft.com/kb/2589318
    Support-URL:
    http://support.microsoft.com/?LN=de-de
     
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB3115314
    Update für Microsoft Visio 2010 (KB3115314) 32-Bit-Edition
    Letzte Änderung: 13.02.2019
    Größe: 19,8 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Visio 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Visio 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 3115314
    Weitere Informationen:
    https://support.microsoft.com/kb/3115314
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB3114559
    Update für Microsoft Outlook 2010 (KB3114559) 32-Bit-Edition
    Letzte Änderung: 09.04.2019
    Größe: 355 KB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Outlook 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Outlook 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 3114559
    Weitere Informationen:
    https://support.microsoft.com/kb/3114559
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    So we have 6 "new" updates. But these appear on safe list

  9. #119
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10
    Strangely ….
    KB4461526 has appeared. So I De installed it
    KB4461576 has appeared. So I De installed it
    KB4461625 came back . So I De installed it again
    KB4461625 came back once again . So I De installed it again
    KB4464524 has appeared. So I De installed it.
    KB4462230 has appeared. So I De installed it
    KB4462223 has appeared. So I De installed it


    After de installing KB4462223, Office started working

    Code:
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4461526
    Sicherheitsupdate für Microsoft Word 2010 (KB4461526) 32-Bit-Edition
    Letzte Änderung: 08.11.2018
    Größe: 12,9 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Word 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4461526
    Weitere Informationen:
    https://support.microsoft.com/kb/4461526
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4461576
    Sicherheitsupdate für Microsoft Outlook 2010 (KB4461576) 32-Bit-Edition
    Letzte Änderung: 07.12.2018
    Größe: 79,8 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Outlook 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4461576
    Weitere Informationen:
    https://support.microsoft.com/kb/4461576
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=%20KB4464524%20
    Update für Microsoft Outlook 2010 (KB4464524) 32-Bit-Edition
    Letzte Änderung: 15.05.2019
    Größe: 79,8 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Outlook 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Outlook 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 4464524
    Weitere Informationen:
    https://support.microsoft.com/kb/4464524
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4462230
    Sicherheitsupdate für Microsoft Excel 2010 (KB4462230) 32-Bit-Edition
    Letzte Änderung: 04.04.2019
    Größe: 19,8 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Excel 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4462230
    Weitere Informationen:
    https://support.microsoft.com/kb/4462230
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4462223
    Sicherheitsupdate für Microsoft Office 2010 (KB4462223) 32-Bit-Edition
    Letzte Änderung: 04.04.2019
    Größe: 8,0 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4462223
    Weitere Informationen:
    https://support.microsoft.com/kb/4462223
    Support-URL:
    https://support.microsoft.com/?LN=de-de


    At this point, I decide to go backwards, reinstalling those de installed updates in order to pin down the latest “bad” or “bads”


    This is the list I have to try out on a re install
    I will do it in backward order


    KB3114879
    KB4475604
    KB2589318
    KB4462172
    KB4464566
    KB4475533
    KB3115314
    KB4484130
    KB4475599
    KB4475569
    KB4018363
    KB3114559
    KB4461626
    KB4462187
    KB4461579
    KB4462177
    KB4464567
    KB4461521
    KB4461526
    KB4461576
    KB4461625
    KB4464524.
    KB4462230
    KB4462223

  10. #120
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,466
    Rep Power
    10
    Re installing in XP
    Using Microsoft Update Catalog : https://www.catalog.update.microsoft...px?q=KB4462223
    To install, type in the required update in the search box top right. Remember to include KB at the front Download KB from MicrosoftUpdateCatalog.JPG : https://imgur.com/AfSAtlC
    Another window appears and you have one or more files to click on to download, https://imgur.com/bIWg243
    After downloading you may need to save and / or open / unzip one or more files or do a double click on files to set off the installation or installations. The exact process to get the installation to start will vary depending on your exact system and settings


    KB4462223 This breaks Office 2010 after re install , and note also that KB4461626 and KB4461623 and KB4461577 and KB4227170 appeared fir the first time ever!!!
    So I de installed KB4462223 again.
    All was then OK.

    KB4462230
    All is still OK after re instal.

    KB4464524 ( 14.05.2019 )
    This is a large amount of files to download, I have not got around to installing all of them yet.

    KB4461625 ( 03.01.2019 )
    This is a large amount of files to download, I have not got around to installing all of them yet

    KB4461576 ( 06.12.2018 )
    This is a large amount of files to download, I have not got around to installing all of them yet

    KB4461526
    All is still OK after re install

    KB4461521
    All is still OK after re install

    KB4464567
    All is still OK after re install

    KB4462177
    All is still OK after re install

    KB4461579
    All is still OK after re install

    KB4462187
    All is still OK after re install

    KB4461626
    All is still OK after re install

    KB3114559
    All is still OK after re install

    KB4018363
    All is still OK after re install

    KB4475569
    All is still OK after re install

    KB4475599
    All is still OK after re install

    KB4484130
    All is still OK after re install

    KB3115314
    All is still OK after re install

    KB4475533
    All is still OK after re install

    KB4464566
    This causes the XP problem
    After de installing it the problem goes away.

    KB4462172
    All is still OK after re install

    KB2589318
    All is still OK after re install

    KB4475604 ( 08.10.2019 )
    This is a large amount of files to download, I have not got around to installing all of them yet

    KB3114879
    All is still OK after re install

    So it appears that the two new "bads" are
    KB4464566
    KB4462223
    And here were the previously known
    KB4461522 ( no longer available )
    KB4461614 ( available , but not been offered for some time )
    KB4462157 ( available , but not been offered for some time. ( Originally this was introduced to solve the problem. It never did. Quite the opposite: If you have the problem, then installing this update has no effect; but if you do not have the problem , and you instal this update, it causes the problem, just as all the other "killers do !!. ) )
    KB4462174 ( available, and until recently, was still offered )
    KB4462223 : The latest, available, and being currently offered
    http://www.eileenslounge.com/viewtop...249846#p249846

    We see infact that the „hidden" KB4462223 is in fact, an already known „bad"

    Code:
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4464566
    Sicherheitsupdate für Microsoft Office 2010 (KB4464566) 32-Bit-Edition
    Letzte Änderung: 05.09.2019
    Größe: 8,2 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4464566
    Weitere Informationen:
    https://support.microsoft.com/kb/4464566
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4462223
    Sicherheitsupdate für Microsoft Office 2010 (KB4462223) 32-Bit-Edition
    Letzte Änderung: 04.04.2019
    Größe: 8,0 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4462223
    Weitere Informationen:
    https://support.microsoft.com/kb/4462223
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    KB4461522    No longer available
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4461614
    Sicherheitsupdate für Microsoft Office 2010 (KB4461614) 32-Bit-Edition
    Letzte Änderung: 12.02.2019
    Größe: 8,2 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4461614
    Weitere Informationen:
    https://support.microsoft.com/kb/4461614
    Support-URL:
    https://support.microsoft.com/?LN=de-de
     
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4462157
    Update für Microsoft Office 2010 (KB4462157) 32-Bit-Edition
    Letzte Änderung: 22.01.2019
    Größe: 8,2 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft hat ein Update für Microsoft Office 2010 32-Bit-Edition veröffentlicht. Dieses Update stellt neueste Fixes für Microsoft Office 2010 32-Bit-Edition bereit. Darüber hinaus umfasst das Update Verbesserungen von Stabilität und Leistung.
    Architektur: k.A.
    Klassifikation: Wichtige Updates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Unspecified
    KB-Artikelnummern: 4462157
    Weitere Informationen:
    https://support.microsoft.com/kb/4462157
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4462174
    Sicherheitsupdate für Microsoft Office 2010 (KB4462174) 32-Bit-Edition
    Letzte Änderung: 07.02.2019
    Größe: 8,0 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4462174
    Weitere Informationen:
    https://support.microsoft.com/kb/4462174
    Support-URL:
    https://support.microsoft.com/?LN=de-de
    
    
    
    
    https://www.catalog.update.microsoft.com/Search.aspx?q=KB4462223
    Updatedetails
    Sicherheitsupdate für Microsoft Office 2010 (KB4462223) 32-Bit-Edition
    Letzte Änderung: 04.04.2019
    Größe: 8,0 MB
    Details:
    Übersicht Sprachauswahl Paketdetails Installationsressourcen
    Beschreibung: Microsoft Office 2010 32-Bit-Edition enthält ein Sicherheitsrisiko, das die Ausführung von willkürlichem Code ermöglicht, wenn eine in böswilliger Absicht veränderte Datei geöffnet wird. Dieses Sicherheitsrisiko wird mit diesem Update behoben.
    Architektur: k.A.
    Klassifikation: Sicherheitsupdates
    Unterstützte Produkte: Office 2010
    Unterstützte Sprachen: all
    MSRC-Nummer: k.A.
    MSRC-Sicherheit: Important
    KB-Artikelnummern: 4462223
    Weitere Informationen:
    https://support.microsoft.com/kb/4462223
    Support-URL:
    https://support.microsoft.com/?LN=de-de
     Schließen

Similar Threads

  1. Replies: 185
    Last Post: 05-22-2024, 10:02 PM
  2. Tests and Notes for EMail Threads
    By DocAElstein in forum Test Area
    Replies: 29
    Last Post: 11-15-2022, 04:39 PM
  3. Replies: 379
    Last Post: 11-13-2020, 07:44 PM
  4. Appendix Thread. Diet Protokol Coding Adaptions
    By DocAElstein in forum Test Area
    Replies: 6
    Last Post: 09-05-2019, 10:45 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •