tag:blogger.com,1999:blog-9306377314098001082024-03-14T16:18:29.705+11:00Software SalarimanNuts and bolts about programming applications, databases and spreadsheets. Note: Comments are moderated to filter comment spam. <a href="http://www.google.com/reader/m/view/feed/http://softwaresalariman.blogspot.com/feeds/posts/default">Mobile version</a>Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.comBlogger442125tag:blogger.com,1999:blog-930637731409800108.post-463304425856385192018-01-28T10:08:00.001+11:002018-01-28T10:10:55.126+11:00Bookmarking PDF documents in the Chrome browser
Bookmark a page by appending "#page=n" to the book's URL. E.g. "http://blah.pdf#page=23". The number, n, seems to be the page number from the first page (usually displayed as "n of m"). Useful for documents without a table of contents.
Set the zoom level by appending "zoom=x" to the document's URL. E.g. "http://blah.pdf#zoom=150". The number is a percentage, so "150" = "150%".
Combine the Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-32724770504367190602016-12-19T09:21:00.001+11:002016-12-19T09:21:17.443+11:00Internet Explorer 11 Compatibility ViewInternet Explorer 11 has a "compatibility view" setting so that you can open web sites or applications that rely on quirks in older versions of the browser. However, you can only specify compatibility view for a top-level domain (i.e. test.com), not a sub-domain (i.e. xyz.test.com) or even a URL (i.e. http://test.com/app), so it's useless if your organization has quirks-mode and standard-mode Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-43519034810242886872016-06-12T21:31:00.003+10:002016-06-12T21:31:38.199+10:00Formulas for Library Catalogue Sort OrderIf you use library catalogues, you may notice that book or film titles in English are sorted without the leading article, "A", "An" and "The". For example, this list of titles ...
A Kind of Intimacy
An Awfully Big Adventure
The Girl In The Polka-Dot Dress
... is sorted like this in a library catalogue ...
An Awfully Big Adventure
The Girl In The Polka-Dot Dress
A Kind of Intimacy
To Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-72250260705738533522016-05-31T13:26:00.000+10:002016-05-31T19:14:23.774+10:00Formula to Convert mm/dd/yyyy String to DateSome data I receive has the date in a string in mm/dd/yyyy format, which is easier to sort or filter in Excel when converted to a date number. If the data is in cell A2 then the formulas for splitting the date string into substrings and creating a date value are:
StringYearMonthDayDate
5/31/2016201653131/05/2016
Year: =RIGHT(A2,4). The year is always the last four digits.
Month: =LEFT(A2,Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-31142048614906806752016-04-29T15:28:00.001+10:002016-04-29T15:28:26.103+10:00Excel VBA "Code execution has been interrupted"Very strange bug: After starting an Excel VBA macro, the macro stops and Excel displays a "Code execution has been interrupted" dialog. The only way to get the macro to finish is to keep pressing the "Continue" button. The problem only occurs on my development account not in other accounts. The solution is to wait for the dialog, press the "Debug" button to use VBE then type Ctrl+Break. Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-49779084042746761282015-11-20T16:30:00.001+11:002015-11-20T16:30:10.985+11:00Google Play cannot download error 495When downloading an application from Google Play while using mobile / cellular network, the download may fail and Google Play reports "error 495". In my case, the fix was to enable background data for the "Media" application (I restrict almost all applications from downloading background data on my phone).
Navigate to Settings, Data Usage.
Select the mobile operator tab.
Scroll down until you Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-45594090940520398422015-11-10T16:22:00.001+11:002016-06-26T12:35:55.526+10:00Recursive preorder traversal of a folder tree in VBATo process files in a folder tree using Excel, I implemented a recursive preorder traversal of a tree in VBA below. I haven't had to do this earlier because I usually use Gnu "find . -exec" to process files in folders.
Option Explicit
'References
'1. Microsoft Scripting Runtime
Global gFso As Scripting.FileSystemObject
Sub Main()
Set gFso = New Scripting.FileSystemObject
TraversePreorderTemporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-62394060589606185742015-10-21T11:02:00.001+11:002015-10-26T10:52:01.437+11:00Excel auto-fill keyboard "shortcut"Excel's AutoFill is usually activated by selecting a group of cells and dragging the fill handle (the black square on the bottom-right hand corner of a selection) with the mouse until you have the range you want. The keyboard "shortcut" (more a sequence of keystrokes than a simple shortcut) is to select the range you want first then type: Alt+h,fi,s,Alt+f,Return. The breakdown of the steps are:
Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-21529301236599181472015-08-23T18:37:00.000+10:002015-08-23T18:39:58.338+10:00SVG Clocks
function rotateHand(el, angle) {
var sRotate = el.getAttribute("transform")
sRotate = sRotate.replace(/rotate(\(.*\))/, "rotate(" + angle + ")")
el.setAttribute("transform", sRotate)
}
function updateClock(num, hour24, minute, second) {
var el = document.getElementById("second" + num)
var angle = second * 6
rotateHand(el, angle)
el = Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-1676176582904721312015-06-26T15:32:00.000+10:002015-06-27T10:14:24.802+10:00Activation context generation failed ... HsxClient.dll After a server patch, the HFM (Hyperion Financial Management) Windows client could not start. Below is the error message in Event Viewer.
SideBySide,
Activation context generation failed for "... HsxClient.dll". Dependent Assembly Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053" could not be found. Please use sxstrace.exe for Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-8896117856356690422015-01-29T10:28:00.002+11:002015-01-29T10:29:50.204+11:00Excel cannot find the data you're searching forSometimes Excel cannot find text in a cell that is clearly visible. Some workarounds and solutions:
In the "Find and Replace" dialog, untick "Match entire cell contents".
In VBA, specify the LookAt parameter, .Find(..., lookat:=XlLookAt.xlPart)
In your worksheet, remove custom formatting from the cell range you are searching.
The last workaround is pretty weird. One would think that Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-55044476762930226112014-05-22T10:48:00.003+10:002014-05-22T10:49:01.799+10:00Excel 2010 build multi-criteria search in AutofilterExcel 2010's search in autofilter can be used to easily build a multi-criteria filter but I found that the steps for adding the first criteria is different from adding the subsequent criteria.
Assuming your started Autofilter for your worksheet, the steps to add the first criteria are:
Click on the filter icon in the column.
In Autofilter pane, enter your criteria.
Autofilter pane displays theTemporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-35515182983566294772014-05-15T14:00:00.003+10:002014-05-15T14:01:08.111+10:00Easily turn off and on your Android phone data connectionEasily turn off and on your Android phone data connection using a shortcut to the Data Usage page:
Navigate to Widgets, Settings shortcut.
Press and hold Settings shortcut until Android prompts you to drop the shortcut into a Home Screen.
After you drop the shortcut, Android prompts you to select a category. In this case, select Data usage. If you want to cancel the action, press the Back Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-79834052652952595422014-05-06T12:57:00.001+10:002014-05-06T12:57:05.129+10:00Hyperion Financial Reporting book point of viewAfter changing a report dimension's point of view to "User point of view" in Hyperion Financial Reporting, check that books that include this report actually allows you to select values in this changed dimension. I found that these books need to be opened and resaved using the editor before I can select a member in that dimension.Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-27559229452803673942014-04-09T13:24:00.002+10:002014-04-09T13:24:29.949+10:00Disable "useless" keys on a keyboardI find the F1 (open online help) and Insert (toggle insert and overwrite mode) keys on a standard Windows keyboard useless; more often than not, I hit them accidentally and have to reverse their actions. If you use AutoHotkey, you can remap keys to do nothing.
F1::return
Insert::return
Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-26513702764511384062014-03-13T12:46:00.001+11:002014-03-13T12:46:44.535+11:00Smart View "Error" text in Excel cellsIf your Excel worksheet has a lot of Smart View formulas (e.g. more than ten thousand HsGetValue), you may find that each cell with a Smart View formula shows "Error" after you refresh the worksheet. I think Excel encountered an error during the refresh process and does not update any of the cells. The workaround is to type Ctrl+Alt+F9 which "calculates all worksheets in all open workbooks, Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-26641892983779357922014-03-11T16:37:00.001+11:002014-03-11T16:37:18.064+11:00Timestamps in yyyymmdd format using Visual BasicI often use the "yyyymmdd" format for timestamps but the Microsoft FormatDateTime supports only available operating system formats and FormatNumber doesn't support left padding integers with zeros, so here's a little bit of code to get the date format that I want:
dtNow = Now
strToday = Year(dtNow) & Right("0" & Month(dtNow), 2) & Right("0" & Day(dtNow), 2)
The dtNow stores the current Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-6557611225330889592014-02-27T09:58:00.000+11:002014-02-27T09:58:12.162+11:00OTRS user already existsWhen adding a customer account to OTRS 3.0.11, you may encounter the "user already exists!" message but the customer account isn't visible in the Customer Management page. The problem is that the page doesn't indicate that you may have more than one page of customer accounts and there is no way to see more pages (i.e. no "Next" or "1, 2, 3 ..." links). The workaround is to restrict the search, Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-24700730294771146912014-02-21T18:00:00.000+11:002014-02-21T18:00:06.540+11:00Workaround to conditionally format for a range of cells in ExcelYou can format cells in one column based on the value of cell in the same row in another column in Excel using conditional formatting but you have to workaround some quirks in the Excel Conditional Formatting Rules Manager (CFRM) user interface to get that result. Say that you want to format cells in column A based on the value of a cell in column B for the same row, i.e. A1 is depends on B1, A2 Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-90342161418248494012014-02-14T18:00:00.000+11:002014-02-15T22:32:25.908+11:00Not automatically delete mail in Lotus NotesAfter being spammed by "out of office" messages, I wanted to add a Lotus Notes (LN) rule to move these types of messages from my Inbox into the Trash folder. However, LN doesn't provide an action that moves messages to the Trash folder. Instead, the action that sort-of fits my requirement is to "Delete (don't accept message)" which I think means that LN will just delete these messages, sight Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-28220159810518394152014-02-12T14:34:00.000+11:002014-02-12T14:34:02.324+11:00Cannot redo changes in Lotus Notes editorThere is no redo feature in the Lotus Notes 8.5 (LN) editor, so don't use the undo feature expecting to be able to redo your changes. I got caught out when I undid one change too many while editing a message. There is an Enhancement request: Redo feature in Lotus Notes client from 2009.Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-84759061251060118402014-02-08T18:00:00.000+11:002014-05-06T11:18:14.669+10:00BI+ Report User Point of ViewNote to myself on how to add a dimension to the user point-of-view (POV) in Hyperion BI+.
Open the report using Financial Reporting Studio (FRS).
Click on the POV in a grid. FRS should open the Select Members dialog.
In Select Members, select the tab for the dimension you require.
In the dimension tab, set the member to be "User Point of View for [dimension]" (go to the bottom of the list).
Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-74431794738241615642014-02-06T18:00:00.000+11:002014-02-06T18:00:06.157+11:00HFM Extended Analytics application name and table prefixWhen we ran an Extended Analytics (EA) template in a new HFM application, the job halted with this error:
ERROR 2: Error during Extended Analytics export (Attention: The metadata that currently exists for the Prefix %0 was extracted from a different Financial Management Application. Extracted App: %1 Current App: %2. You must use the Create option to overwrite this extract or use a Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-28622278459973750482014-02-05T18:00:00.000+11:002014-02-05T18:00:04.481+11:00List users in a Windows local groupNote to myself: use net localgroup [groupname] to get a list of users in a Windows server's local group (e.g. Remote Desktop Users). Refer: Net localgroup.Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0tag:blogger.com,1999:blog-930637731409800108.post-53640774441548820422014-02-04T14:07:00.000+11:002014-02-04T14:07:19.594+11:00Excel find first word without IFERROR() or IF(ISERROR())In Excel, to find the first word in a cell, find the position of first space then return all characters up to but excluding the space: =LEFT(A1,FIND(" ",A1)-1).
The formula above fails with #VALUE if the string in A1 doesn't have a space or the cell is empty. A Excel 2007 solution is to wrap the entire formula in IFERROR to return a default value: =IFERROR(LEFT(A1,FIND(" ",A1)-1),A1). Excel 2003Temporaryhttp://www.blogger.com/profile/17713488190792612370noreply@blogger.com0