Adobe Reader SDK

I still think Adobe Reader is in fact a virus- but I have to work with it. Lets light this candle. Here is where to start. OK – never mind – you cannot control reader- they REALLY want you to buy adobe. Try this command line reference. Lets hope if works on the current version .

Share Button

Stop the mahem! The VBA Windows collection changes each time you activate a new windows. How to get some sense back!

Ok Рso this guy give me the one tip that mattered. Application.Windows(1) is the active window. ALSO Рyou can change the caption of the window. IF you have a workbook and need to show  2 or more worksheets in as many windows Рthen it renames the sheets and adds :1 and :2 Рwhich DO NOT CHANGE. But the windows(1) is NOT reliably window(1) the next time you interact with the windows.

So if you want sheet1’s window to return sheet1 and sheet2’s window to interact with sheet2 – then here is some code to help one understand what is going on. What I am going to do is change the :1 to :DELTA and :2 to :SOURCE and ensure that those windows show the delta and source worksheets respectively


Sub Test_WindowIndexes()
' Here is the guy to inspired me to fiddle and get some understanding. It is mental but
' there is some hope is his bottom line. https://www.engram9.info/excel-vba-programming-3/the-workbook-and-window-objects.html

' before you run this - make a workbook with 2 worksheets
' rename them something memorable

' Next - simply make a new window . Use hte View Ribbon->New Window button
' or Set mywb = workbook.newWindow command here in VBA (in future)

Debug.Print "*********************new" ' just a line so you can see what
'is going on between running this and loooking in the immediate window


Debug.Print "activesheet: " & ActiveSheet.Parent.Windows(1).Caption
ActiveSheet.Parent.Windows(1).Caption = VBA.Replace(ActiveSheet.Parent.Windows(1).Caption, ":1", ":DELTA")
Dim vvar As Variant
Dim w As Window


' lets set aside some static instances of the windows as they are right now
Dim winds As New Collection
winds.Add ActiveSheet.Parent.Windows(1) ' the active screen
winds.Add ActiveSheet.Parent.Windows(2) ' some random worksheet

' lets cycle through the worksheets.
' Set a breakpoint AFTER the Next - play with the windows and re-run this loop.
' the Application.windows collection CHANGES INDEXES - how unstable!
For Each vvar In ActiveSheet.Parent.Windows
Set w = vvar
Debug.Print "collection: " & w.Caption & " --> " & w.ActiveSheet.Name
Next

' now let VBA muck with the active window
winds(1).activate
Debug.Print ".windows(1):" & Application.Windows(1).Caption
Debug.Print "w1:" & winds(1).Caption
Debug.Print "w2:" & winds(2).Caption

Debug.Print " ... now switch to winds(2) as active"
winds(2).activate
Debug.Print ".windows(1):" & Application.Windows(1).Caption
Debug.Print "w1:" & winds(1).Caption
Debug.Print "w2:" & winds(2).Caption


' wind(1) and winds(2) are finally static and no longer dependant on windows(1)
' got a solution now. How mental is this!? Perhaps this was out the Excel Team's area
' of control. The Excel team would not have let this mahem propagte.


End Sub

Share Button

Precedents limitations in Excel Formulas – VBA

I am trying to find the fastest way to store and retrieve a reference to a cell in another workbook. The sheet I am making is a delta record of what a spreadsheet that archives where data USED to be and make a quick link to get back to that data. So – I thought I used a simple formula =’somesheet somewhere’!$A$2 then I could intelligently pick up its information using a formula. Well – in short you CAN – if it is not off sheet. All mine are a off sheet – so the trick is to show to “Trace Precedents” arrows and use the Range.NavigateArrow() method to look back. THAT WILL WORK – but I think I will just store the long string and use Range(“‘somesheet somewhere’!$A$2” ) and be done with it. I think it will be less compute intensive. The guy in this article did all that cool stuff I am NOT going to use – very ingenious. Thanks Excel for exposing all sorts of goodies for us to use.

Share Button

Volatile and Non Volitile Excel VBA (UDF) User Defined Functions? Who knew?

OK – this is cool

Writing efficient VBA UDFs Part 10 – Volatile Functions and Function Arguments

Share Button

Hard Drives and speed of writing – what we need to know to maximize

First start by reading this very well written article that explains all one needs to know in simple terms. SSDs, Sata I, II, III hard drives, flash drives, thumb drives and SD cards are all discussed. In short lets follow the data flow. The SLOWEST part is what YOU need to address – lets discuss all the parts

a) bus speed – so USB 2, eSATA, 3.0, thunderbolt, 3.1, thunderbolt 2 and thunderbolt 3 are IN ORDER the slowest to fastest. (usb 3 vs thunderbolt 2) This is talking about the computer that one plugs things into. (I might have the order slightly off – so comment if I do) … Continue reading

Share Button

Dealing with Double Precision Applanix data times – all the links to make it work

I was asked to look into why 1 of 3 parts of data was 6 days earlier than the other 2 parts. Well it turned out to NOT be IGES data – but it was raw binary data dumps from a LiDAR system. The data was Applanix proprietary data format that is likely written the way it is to allow high speed data writing. First, all the data is bound by $GRPXX and $# where XX is a hex group code. To undo all the data and make some sense of the time stamps it took an awful lot of digging. Here are the links and learning I found. Continue reading

Share Button

Becoming a Git Ninja – an article to help me remember the cool once-per-3-month commands

So I love git and I … anyway – here are are some cool commands and links. IF YOU COMMENT – I will add your findings and your links that helped you find your solution too. Git is not easy. I will keep updating for years to come likely. This extends my first article – git for dummies (I have come a long way). Continue reading

Share Button

AutoHotKey example of clicking that popup FOR YOU

A user asked me a question to get past a recurring popups . It seems like this is a 1 time job – so cheezy solutions are acceptable (right!?)

Write a quick script to click the annoying popup for you. I did for another example and the code is below on how I did it. My example checks for 2 things a) do I see the popup and b) is Excel running – but the concept applies (and it works.) Download AutoHotKey – corps block this – so … do it at home and bring it in … then make the script and generate a .exe and run it in the background while you are doing your task.

Here is my script that worked for me … Continue reading

Share Button

Upload Keynote to WordPress Example (Nevada and Idaho 2017)

Click Continue Reading for … welll more on how to do it. It takes about 5 minutes once you have done it once. Continue reading

Share Button

Signing .net VS Manifests driving me nuts. Finally a solution.

This worked for me finally. https://stackoverflow.com/a/8341110

Share Button