Aug 24, 2012

Remove pictures from copy/paste into Excel

I don't know about the rest of you, but I constantly find myself copying & pasting information from websites into Excel spreadsheets so that I can manipulate the data, or to just keep track of it for future reference.

I recently did just this when creating backup copies of my different domain's DNS entries.  The problem is, when I paste the tabulated data into Excel, it includes hyperlinks & images.

Hyperlinks:  Luckily in the newer versions of Excel this is as easy as selecting the whole sheet, right-clicking and selecting "Remove Hyperlinks".

Images:  Images are a little more difficult, since they often times don't even exist inside a cell, so they can't be easily deleted.  Thanks to Dave Peterson over on the microsoft.public.excel newsgroup, I got this little nugget of information:

Hit Alt-F11 to get to the vbe (Visual Basic Editor)
Hit Ctrl-G  to see the "immediate" window
Type the following and then press enter:
Activesheet.pictures.delete
This blows them all away quickly & cleanly.  What's even better, is that if you're doing this multiple times, just keep copying & pasting pages in, then with each sheet highlighted, alt-tab back to the VBE screen, put your cursor at the end of the line & hit enter again to repeat the process.

Dec 14, 2011

Remove empty lines in text using Visual Studio

Visual Studio has ability to delete empty lines in replace operation using regular expressions.
  1. Click Ctrl-H (quick replace)
  2. Tick "Use Regular Expressions"
  3. In Find specify ^$\n
  4. In Replace box delete everything.
  5. Click "Replace All"
All empty lines will be deleted.

Jan 11, 2011

Google Checkout Issues with Android Market and Google Apps for Your Domain (GAFYD)

After upgrading GAFYD to the new infrastructure, I was no longer able to use the Android Market to purchase Apps for my DROID. After digging around for weeks for a solution to this, I was able to glean the following solution & decided to sum it up here.

Go to:
Google Apps Control Panel => Organization & Users
On the tabs below, click on the "Services" tab

Here's a direct link, if you substitute your domain name:
https://www.google.com/a/cpanel/{example.com}/Organization#Organization/subtab=1

Scroll down in the list to the "Other Google Services" section & make sure Checkout is "switched to on".

Mar 4, 2010

Take your ASP.Net 2.0 App Offline quickly!!!

I stumbled upon this little tidbit & decided it was reposting here. If you create a file in an ASP.Net 2.0 application named app_offline.htm it will bring down the appdomain & just return the contents of that HTML document!

Make sure your HTML page is at least 512bytes in size, or IE's "friendly errors" may eat it. :)

The MAJOR benefit I see here is that you can quickly rename a standby page to app_offline.htm, make a few changes (replace locked files, etc) & then rename it back to app_online.htm & you're back in business.

Jan 11, 2010

ASP Tags Not Recognized w/Nested Masterpages

Okay, I had an odd thing occur today while editing one of my projects. All of the tags had the red squiggly line under them, claiming:

“unrecognized tag prefix or device filter ‘asp’”

After a little searching I found a Google group post stating that:
”…building makes no difference. what does make a difference is leaving the nested master page file open in the IDE editor window…”

So, just keep your "nested" master page open & all will be well.

Oct 27, 2009

My new obsession? The Droid!

Okay, it's finally time for me to carry on about my newest obsession, the Google Android based group of phones scheduled to hit Verizon soon™. What was initially thought to be campaign aimed at the Motorola Droid (a.k.a. Tao/Sholes). However, it’s been recently discovered that it’s actually a full “marketing blitz” for a range of Android OS phones on “Big Red”.

Known so far:
Motorola Droid
HTC Droid Eris (re-brand of HTC Hero)

Rumored:
Motorola Calgary (Running Moto BLUR UI)
HTC Passion (Possibly the Dragon & running a Snapdragon 1GHz processor)

But that’s not of concern to me, I’ve got my eyes on the Moto Droid, it’s a wonderful bit of tech & may be enough to make me learn Java, just to be able to write apps for it!

image

It’s also supposed to come with this sexy dock, that turns it into an alarm clock! Woot!!!

image

The kicker for all of this is that it’s supposed to NOT be locked down by Verizon like all of their non-smartphone offerings.

So, needless to say, I’m really “geeking out” about this & can’t wait until tomorrow morning, when all will be revealed!

Aug 28, 2009

ASP.Net Custom Paging Control

I've been playing with GridViews for quite some time & have always wondered if there's a better way of displaying the pager at the bottom, instead of the "1 2 3 ..." that you get by default.

As it worked out, I had the reason today to look more into this for a customer request. I happened to find an article that gave code to do this. It was a decent starting point, but I didn’t like how the records displayed were numbered from 0-(count-1), but it got me going.

Here’s what two options I’m considering using:

This one uses media player type links (i.e. |< << >> >|)
<PagerTemplate>
<asp:LinkButton CommandName="Page" CommandArgument="First" ID="LinkButton1" runat="server" Style="color: white">|&lt;</asp:LinkButton>
<asp:LinkButton CommandName="Page" CommandArgument="Prev" ID="LinkButton2" runat="server" Style="color: white">&lt;&lt;</asp:LinkButton>
[Records <%= (Grid.PageIndex * Grid.PageSize)+1 %> - <%= Grid.PageIndex * Grid.PageSize + Grid.Rows.Count %> (<%= iTotalRecordCount %>)]
<asp:LinkButton CommandName="Page" CommandArgument="Next" ID="LinkButton3" runat="server" Style="color: white">&gt;&gt;</asp:LinkButton>
<asp:LinkButton CommandName="Page" CommandArgument="Last" ID="LinkButton4" runat="server" Style="color: white">&gt;|</asp:LinkButton>
</PagerTemplate>
And this one has words for First/Last as well:
<PagerTemplate>
<asp:LinkButton CommandName="Page" CommandArgument="First" ID="LinkButton1" runat="server" Style="color: white">&lt;&lt; First</asp:LinkButton>
<asp:LinkButton CommandName="Page" CommandArgument="Prev" ID="LinkButton2" runat="server" Style="color: white">&lt; Prev</asp:LinkButton>
[Records <%= (Grid.PageIndex * Grid.PageSize)+1 %> - <%= Grid.PageIndex * Grid.PageSize + Grid.Rows.Count %> (<%= iTotalRecordCount %>)]
<asp:LinkButton CommandName="Page" CommandArgument="Next" ID="LinkButton3" runat="server" Style="color: white">Next &gt;</asp:LinkButton>
<asp:LinkButton CommandName="Page" CommandArgument="Last" ID="LinkButton4" runat="server" Style="color: white">Last &gt;&gt;</asp:LinkButton>
</PagerTemplate>
One caveat, I use a variable iTotalRecordCount that is defined on the code behind:
public int iTotalRecordCount = 0;
And defined in a BindGrid() method I call on button click:
iTotalRecordCount = dataTable.Rows.Count;
Lastly, you need to implement the "OnPageIndexChanging" event:
    protected void Grid_PageIndexChanging( object sender, GridViewPageEventArgs e ) {
Grid.PageIndex = e.NewPageIndex;
BindGrid( );
}
Anyway, I hope someone out there finds this useful. :)