2014年7月30日水曜日

EXCELで困ったときの小技 CSV取り込みで文字列が指数(E+nn)になるを回避 unexpected exponetial E+NN in your TEXT field

EXCELの痒いところに、手が届いていないところの技をひとつ。

EXCELでCSVを取り込むとき、
  • CSVをいきなり、EXCELで開くとか
  • CSVを外部データの取り込みでインポートする
 と、思うように文字列が正しく、取り込まれず、E+NNみたいな指数チックになることがある。
これを回避するには、CSVの外部データ取り込みで、該当フィールドを"G(標準)"ではなく、"文字列"を指定して、取り込めば、OK(テキストになる)。

When Importing CSV data to EXCEL by
  • Open CSV file with EXCEL
  • Import CSV file from EXCEL function tab
specific characters may be unexpected E+NN like exponential.

A solution is to specify the field type "Characters(TEXT)" instead of "G(standard or default )" while you import CSV file from EXCEL function tab.
 


 

2014年7月28日月曜日

IE + VBAで仕事を効率化 Webシステムでページ移動、そのページを捕まえる。How to Move Web pages and Catch them

IEの右クリックで、VBAで操りたいWebシステムのページソースを見てくれ。
JavaScriptでページ移動しているなら、以下のコードをトライ。

On how to navigate pages. Check your web page's source code(html).
If your web system made by JavaScript, try this code. 
  • objIE.document.Scriript.setTimeout "JapaScript: your-systems-javascript",200

ページ移動で新しいウィンドウが開かれる場合、そのウィンドウのIE(例えば your-web-page-title-1というタイトルを持つページ)を捕まえないと
制御できない。そのIEを捕まえるコードが、以下。

The following codes enable you to get the control of the new IE window while a new window like "your-web-page-title-1" is open by JavaScript.  
Dim objIE As Object
Dim objShell As Object
Dim objWindow As Object
Set objIE = Nothing
Set objShell = CreateObject("Shell.Application")
For Each objWindow in objShell.Windows
  If TypeName(objWindow.document) = "HTMLDocument" Then
    Set objIE = objWindow
    Debug.Print objIE.Doucument.Title
    If objIE.document.Title = "your-web-page-title-1"  Then Exit For
  End If
Next 
    ページへ移動した後に、表示ボタンをクリックしたい場合、こんな感じ。

    If you want to click for details after you jumped the page, try this. 

    • objIE.socument.Frames("your-frame-name").document.forms("your-form-name").elements("your-bottun-name").Click





    2014年7月26日土曜日

    IE + VBAで仕事を効率化 Webシステムに自動ログオン Automatic Logon to Web based System By IE + EXCEL VBA

    自宅ならlinux+iceweaselでやるけど、会社はWindowsなのでIE+VBAで頑張るしかない。

    IEを起動して、特定のWebページへジャンプする、基本のコードは、以下。
    URL01 = "http://your-web-site.com"
    Set objIE = CreateObject("InternetExploer.Application")
    objIE.Visible = True
    objIE.Navigate URL01
    Application.Wait (Now + TimeValue("0:00:03"))
    
    2行目は、IEを起動するためのおまじない。
    4行目で、URL01 のページへジャンプ。
    5行目は、URL01のページが表示されるまでの時間を稼ぐ(手抜きのコードだが、てっとり早い)。

    これらのコードは、インターネットでググれば、すぐに出てくる。
    難しいVBAの教科書を読まなくてもできる。

    IE(Internet ExplorerでID&パスワード認証が必要なWebシステムへ自動ログオンするためのVBAは、訳がわからないけれど、とてもよく効く、謎のマジックコードは、以下。

    IE+VBA make your work efficient.
    I don't know what to say but there's a magic codes for auto-logon for web system with ID & PASSWORD authentication. This is it.
    objIE.document.all.Userid.Value = "USER-ID"
    objIE.document.all.Password.Value = "PASSWORD"
    objIE.document.all.login.Click
    
    無事、自動ログオンしたあとに、必要なことは、以下。
     これで、ページ移動やボタンクリックを自動でこなして、必要なデータを取得する、VBAコードを書けば、仕事が楽ちんになります。

    次回は、ページ移動とボタンクリックについて、解説します。

    2014年7月22日火曜日

    ruby one liner ルビーワンライナー ルビー1行プログラミングで仕事を効率化

    One line ruby program makes work efficient.
    ルビーワンライナー(1行ルビープログラム)で仕事の手間を減らしたい。
    • ruby -ne 'puts $_ if $_include ?("くるみ")' a.txt > o.txt
    この1行プログラムを実行するためには、rubyをインストールが必要。そうすれば、a.txtというファイルを1行ずつ、読み出し、「くるみ」という文字列が含まれている(include)場合、その行を出力(puts)するというもの 。これが1行でかけるとは、凄い。

    「くるみ」と言えば、少し前まであるTV番組の影響で、日本のスーパーでは「くるみ」が一斉に消えました。今は店頭に戻ってきたので、ひと安心。げに恐ろし、TVの力。

    「くるみ」に加えて「いちじく」という文字列が含まれている行も取り出したい場合、
    • ruby -ne 'puts $_ if $_include?("くるみ")  or $_include?("いちじく") ' a.txt > o.txt
    上記と同じプログラムをperlで書くこともできるけど、perlの場合、日本語でうまく認識できないものがあるので、いまいちとなる。日本生まれのrubyがいいところです。

    2014年7月21日月曜日

    Linux LXmusic 音楽プレーヤでwma形式のファイルを再生するためには

    意外とググレ(google)なかったーgoogleが一発で教えてくれなかったノウハウ?
    Linux LXmusicでwma形式を再生するためには、それに対応したプラグインをインストールする必要あり。例えば、以下のパッケージをインストール。
    • xmms2-plugin-all
    そして、LXmusicの「ファイル」タブの「設定」タブの「音声」タブで、
    • デフォルトのAdvanced Linux Source ArchitectureをPulse Audio
    に変更する。

    と書きましたが、後日、LXmusicではなく、smplayerというパッケージを
    皇帝ペンギン
    使う方がいいことに気づく。

    2014年7月20日日曜日

    linux debian ldxe+xfceでデフォルト Xsessionを変更する方法

    DeabianベースのLXDEにxfce4を追加インストールした場合のデフォルトX sessionを切り替える方法は、以下。
    1. スーパーユーザのTerminalを立ち上げる。
    2. update_alternatives --config x-session-managerと叩く
    3. 候補がでてくるので、選ぶ
    さらに、自動ログインにしたい場合、以下。
    1. nano /etc/lightdm/lightdm.conf
    2. autologin-user= ユーザ名
    3. autologin-timeout=0
    mouse


    仕事で使える、EXCEL小技~左の空白削除+数値へ変換

    イラッとくる、数字の左についた空白の対処方法。インターネットやイントラネットのWebページからコピペしたときにこの現象に悩まされることがある。
    そのような箇所がひとつなら、自分でそのセルにカーソルを持っていって、消せばいい。
    でも、そのような箇所が何個もあったら、大変だよね。
    そのときには、該当セルの同じ行の右側で、未使用の列に以下を挿入する。
    • =VALUE(RIGHT(A3,LEN(A3)-1))
    MIYAMA-JIJI
    つまり、EXCELの関数RIGHTで左の空白削除、VALUEで数値へ変換できる。
    さらに、これと同じことを別の箇所(行)へも展開する。同じ式をコピーするだけでよいときは、ラッキーだね。
    すると、SUBTOTALとかも使えるようになるよ。


    One of most what makes me irritate when using EXCEL at work is  "blanks" next to digit. It often occurs when you copy and paste from web pages to EXCEL. What if you have so many above cells? Lo and be hold! That is "RIGHT" and VALUE.

    If  A3 cell that have an irritating blank next to digit  
    • =VALUE(RIGHT(A3,LEN(A3)-1))  
    Have a nice day!

    2014年7月19日土曜日

    仕事で使える、EXCEL小技~文字列除去

    すぐ忘れるけど、たまにあると便利な、仕事で使えるEXCELの小技シリーズ。ま、google検索すると、すぐ出てくるかも。
    • A2セルの文字列を右端(後)から2文字削除は、=LEFT(A2,LEN(A2)-2)
    • A3セルの文字列を左端(前)から3文字削除は、=RIGHT(A3,LEN(A3)-3)
    面倒くさいと感じる例として、どこかのシステムからコピペしたときに、セルの文字列の先頭についてくる空白があるよね。後ろが数字だと特に邪魔な空白になる。この邪魔なブランクをとるには、どうすればいいかと言えば・・・。それは、次回のお楽しみ。

    2014年7月17日木曜日

    FMV BIBLO NB50S WindowsXP代替のLinuxは何かいいの

    この数ケ月、FMV BIBLO NB50Sの Windows XP代替としてLinuxはどれがいいのか、トライした。インストールしたのは、以下。
    • sparkylinux
    • debian wheezy xcfe
    • pearOS

    まず、安定性とレスポンスの良さで言えば、なんと言ってもdebian wheezy xcfeがダントツだね。
    次に、格好良さ、クールな画面という点では、PearOS8に勝るものはない。ただ、FMV NB50Sのスペックでは重すぎる(遅い)。
    sparkyもクールな画面という点では、お勧めだが、なぜが、しばらく、使用しているとマウスがハングしたので、断念。

    ということで、今では、Debian Wheezy xcfeに落ち着いている。このブログを書くのにも使っている。

    サウンドカードはRwalTEK high definition Audioなので、RealTEKのドライバダウンロードページからダウンロードして、Readmeに買いてある「以下の手順」に従って、インストールしたら、音が良くなった気がする。

    Manual install:
    Step 1. unzip source code
            tar xfvj alsa-driver-1.0.xx.tar.bz2
    Step 2. Complied source code
        a. cd alsa-driver-1.0.xx
        b. ./configure --with-cards=hda-intel
        c. make
        d. make install
    Step 3. reboot your machine
    Step 4. Use the alsamixer the disable mute (All audio line default is mute)
            excute alsamixer

    そして、既に、このブログで紹介したように、
    など、ついに、家(ウチ)ではマイクロソフトの呪縛から解き放たれた。
    ただ、会社では、まだ、囚われの身だが、会社の社内システムがInternet Exploreが前提だし、社内外のドキュメントがWORDやEXCEL中心なので、仕方ないのじゃ!さみしい。10年ほど前には、仕事でもlinux(vine Linux 商用版まで買って)をバリバリ使っていたんだけどね。

    そういえば、自治体でLinux + Open Office(Libre Office)で頑張っているとこもあるよね。一旦、採用し、挫折したとこもあったけど。

    ま、日本の会社は、マイクロソフト信者が多いので、困る。しかも、ソフトを作っている会社でもそうなんだから、タチが悪いよね。

    とは、言っても、自分自身、EXCELで仕事してると、便利だし、助かっている。

    Win95を自作PCにインストールしたときの、ハードを自動で認識できるだという驚きは、今も忘れていない。
    初期のLinuxは、インストールがとても大変だったからね。「るんるん(Run Run)Linux」を見ながら 頑張りましたよ。

    2014年7月16日水曜日

    linux パッケージの導入と削除

    linux ちょっとしたコマンドがふと、出てこないことがあるので、メモしておく。
    これは、自分の便利なコマンド帳がわり。

    linux パッケージの導入・削除は、以下。
    1. 導入なら sudo apt-get install pkg-name
    2. 削除なら sudo apt-get remove pkg-name 


    linux X windowsがハングしたら、以下。
    1. Cntl+Alt+F2で、login する
    2. linux再起動なら、sudo shutdown -rf now
    3. linus停止なら、sudo shutdown -f now
    4. 特定アプリの停止なら、ps -ef | grep 特定アプリ名 そして kill ジョブ番号
    5. Cntl+Alt+F7で、元のX windowsに戻るよ

    linux adobe flash 再生(mozzila or seamonkyの場合)

    linux(ubuntu,debian)でadobe flashを再生するためには、以下。

    1. adobe flash のtarファイルをダウンロード
    2. tarファイルを解凍
    3. 自分のホームの.mozillaに.plugins(slackwareの場合、pluginsに libflashplayer.soをコピペ (なかったら、作る)

    2014年7月13日日曜日

    linux console 文字化け対策

    linux consoleで文字化けしたら、以下のコマンドで一時的に英語に戻す。
    export LANG=en_US
    日本語に戻るには
    export LANG=ja_JP.UTF-8

    linux hung ハングしたら

    linuxがハングしたら、以下のコマンドをコンソールから叩く。
    例)iceweaselがハングした場合、コンソール(terminal)から
    1. ps -ef | grep iceweasel
    2. kill job-number

    linux internetradio recording インターネットラジオ 録音

    Window XPでは、SoundEngine Freeを使っていたんだけど、
    linuxでは、インターネットでラジオを聴き、録音したいときは、audacityとpavucontrolをインストールすれば、同じようにできる。

    具体的には、以下の手順を踏む。
    ポイントは、pavucontrolでpulseサウンドをmonitorするところだ。
    1. sudo apt-get install audacity
    2. sudo apt-get install pavucontrol
    3. @pavucontrol  monitor sound
    4. @audacity monitor   (右上のマイクの横の▲で、モニター開始だよ)
    5. @audacityで、録音開始すればいい
     上記のソフト導入により、YoutobuやCNN Student newsのビデオからの録音もできるようになるよ!


      LINUX 13.04 FMV NB50S no sound 音が出ない 対処方法 how to fix

      linuxで音が出ないときの対処方法は、以下。
      ポイントは、model=genericという行をalsa-base.confに追加するところだ。
      1. sudo gedit /etc/modprobe.d/alsa-base.conf
      2. この1行を追加 "options snd-hda-intel model=generic"
      Add "options snd-hda-intel model=generic" somewhere in "/etc/modprobe.d/alsa-base.conf" when your linux has no sound like FMV-biblo.