2017年6月
        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  

« 2010年10月 | トップページ | 2010年12月 »

2010年11月27日 (土)

♪Piano(ノクターン第8番変ニ長調Op.27-2|ショパン)

ショパンのノクターンといえば2番が一番有名だと思います。この8番変ニ長調も人気の曲とのことですが、1年位前までは知りませんでした。「貴婦人のノクターン」とも呼ばれるこの曲ですが、どんな曲なのかネットで検索したらキーシンの演奏を聴くことができました。な、なんと美しい曲なんだろう。それ以来ノクターンで一番好きな曲になりました。自分でも弾いてみたい!ということで今練習中です。
やはりショパンということで一筋縄ではいきませんね。歳のせいか左手がなかなか暗譜できません。それに加えて右手の2音3連符のパッセージや48連符の速弾き、最後の左手6連符右手7連符の上昇部と、音を拾うだけでも難しいのにその音楽的表現の難しさといったら。挫折しそうですがなんとか頑張りたいと思います。

キーシン最高!http://www.nicovideo.jp/watch/sm7733371

無料楽譜:http://www.d-score.com/ar/A08051401.html

2010年11月20日 (土)

♪耳コピー(■薄桜鬼 碧血録|茜空に願ふ|mao)

薄桜鬼のOP/EDは1期から好きでしたが、2期のクライマックスに向けて新撰組の隊士がつぎつぎと倒れていきます。とうとう沖田総司が散ってしまいました。EDの「茜空に願ふ」がとても物悲しくて心に響いて、無性に耳コピーしてみたくなりました。まだ左手は分散和音と右手はメロディの状態ですが、音数を増やしていきたいと思います。
http://www.youtube.com/watch?v=rPUl7Vlcf04&feature=related

茜空に願ふの歌詞

2010年11月12日 (金)

■Word VBA(Word2010:StartUPフォルダのショートカットファイルが削除されてしまう不具合?)

 Word2010を使うようになって、これまで動作していたものが動作しなくなった件について報告してみたいと思います。以前WordVBAマクロの配布について検討した内容を書きましたが、Dotファイルを利用するにあたってSTARTUPフォルダにDotファイルのショートカットファイルを格納していたのですが、Word2010ではどういうタイミングかは不明ですが、なぜかフォルダ内のショートカットファイルが削除されてしまう現象が発生しました。angry
 Wrod2010ではネットワーク上の文書を開く場合やハイパーリンクで文書を開く場合、セキュリティのメッセージが出たりします。それと同レベルで、もしかして実体ファイルではないショートカットの取り扱いが慎重になったのかもしれません。
 しかたがないので、ショートカットファイルではなく、実体でである.Dotファイルを置くようにしたら削除されなくなりました。
 Microsoftさん!いいじゃないショートカットファイルでも。それに、いきなり削除することないでしょう!そもそもこの件についてどこかに公開しています?それとも不具合かしら。
 どなたかご存知の方がいましたらご連絡ください。

環境:
WindowsXP
Word2010

2010年11月10日 (水)

◆Excel VBA(複数の条件で文字列を一括置換する関数)

VBAのReplace関数は一つの条件しか設定できませんので、複数の条件で置換するための
関数を作成してみました。

'呼び出しテスト
Sub testReplaceEx()
    lmoto = Array("(月)", "(火)", "(水)", "(木)", "(金)", "(土)", "(日)", "月")
    lsaki = Array("", "", "", "", "", "", "", "/")
   
    MsgBox ReplaceEx("9月12(金)~9月13(土)", lmoto, lsaki, True, True)
End Sub
Msgbox2
'################################################################################
'# <機能名>      文字列一括置換
'# <機能概要>   VBAのReplace関数を拡張し、複数の条件で一括置換する
'# <引数>         pVal:置換対象文字列
'#           pMoto:変換元文字列配列
'#           pSaki:変換先文字列配列
'#           pZenHan:全角・半角あり(空白以外)/なし(空白)
'#           pOmojiKomoji:大文字・小文字あり(空白以外)/なし(空白)
'# <返却値>      置換結果文字列(String)
'################################################################################
Public Function ReplaceEx(pVal, pMoto, pSaki, pZenHan, pOmojiKomoji) As String
    If UBound(pMoto) <> UBound(pSaki) Then ReplaceEx = lVal: Exit Function
   
    For i = 0 To UBound(pMoto)
        If pZenHan = "" Then
            pVal = StrConv(pVal, vbNarrow)
            pMoto(i) = StrConv(pMoto(i), vbNarrow)
        End If
        If pOmojiKomoji = "" Then
            pVal = StrConv(pVal, vbLowerCase)
            pMoto(i) = StrConv(pMoto(i), vbLowerCase)
        End If
        pVal = Replace(pVal, pMoto(i), pSaki(i))
    Next
    ReplaceEx = pVal
End Function

2010年11月 9日 (火)

◆Excel VBA(文字列内の検索文字の出現数を取得する関数)

例えば"9月12日(金)~9月13日(土)"という文字列内に"日"という文字はいくつ含まれているか
をチェックするマクロです。
Msgbox
'呼び出しテスト
Sub testGetMojiSu()
    MsgBox GetMojiSu("9月12日(金)~9月13日(土)", "日")
End Sub

'################################################################################
'# <機能名>      文字列出現数取得
'# <機能概要>    対象文字内に検索文字の出現数を求める
'# <引数>        pText:対象文字
'#         pMoji:検索文字
'# <返却値>      出現数(Integer)
'################################################################################
Function GetMojiSu(pText, pMoji) As Integer
    If pText = "" Then Exit Function
   
    GetMojiSu = 0
    lStPoint = 1
    Do
        lStPoint = InStr(lStPoint, pText, pMoji)
        If lStPoint > 0 Then
            GetMojiSu = GetMojiSu + 1
            lStPoint = lStPoint + 1
        Else
            Exit Do
        End If
    Loop
   
End Function

2010年11月 8日 (月)

◆Excel VBA(<PC資産管理>使用ソフトウェアのバージョンを管理するツール)

 皆さんはインストールしたソフトウェアのバージョン管理はどのようにしているでしょうか?
セキュリティの観点からIT資産管理作業の一つとしてソフトウェアのバージョンアップは重要だと思いますが、ネットからダウンロードしたサイトを定期的にチェックするのは大変ですね。
Vectorや窓の杜などはソフトウェアの更新情報を自動的に知らせてくれる機能があるそうですが
使い勝手はいかがですか。私は利用していないのでわかりませんが、例えばAdobe Readerや
Adobe flash、PostgreSQL、MySQLといった仕事などで使用するソフトは、なかなか教えてはくれませんね。
そこでExcel VBAでバージョンをチェックするツールを作成してみました。

 このツールは簡単に言えば、ソフトウェアを公開しているサイトを登録しておいて、毎日起動して
サイトのバージョン情報を取得し、いま自分がインストールしているバージョンと比較するというものです。
会社でPCの管理者や更新作業を行う方は便利ではないでしょうか?
 画像を見てもらうとわかりますが、チェックしたいソフトを選択状態にしておいて、チェック開始ボタン
をクリックすればURL欄のURLをチェックします。チェック開始ボタンをクリックしなくても初回起動設定
欄に時刻を登録しておけばこのツールを起動したときに、その時刻範囲であれば勝手に処理が実行
されるようになっています。

Version_check_2

 使い方に多少難しさがあります。それは検索するサイトの検索文字列とフィールドの関係です。
検索するサイトをソース表示して、検索文字列がどのHTMLタグに含まれているかを把握する必要があります。
フィールド名欄にg_タグ名で設定します。後は以下の機能があります。
 (1)ただ単に登録したURLを表示する機能があります
   セルA1に自分の使用しているブラウザのフルパスを記述しておけばそのブラウザを採用します
 (2)URLの先頭にオプションを設定して、チェックする際の動作をいろいろ選ぶことができます
   S_はサイレントモードでIEを非表示のままチェックします
   Q_はIEを表示してチェックしたのちに閉じます
   何も設定しない場合は、IEを表示してちぇっくしたのちにIEは閉じずにそのままとします
 (3)検索するタグがa(アンカー)の場合でバージョンが上がっていたらそのままダウンロード
   することができます。ダウンロードするかどうか確認メッセージを表示します。

Download

これが重要ですが、E2000Toolsの機能を利用しているので、E2000Toolsを導入しておく必要があります。
あと、これが難点ですが、検索するサイトが変わったりするとチェックできなくなるので、バージョン結果が
取得できなくなったら(結果欄が空白のままだったら)サイトのタグか何かが変わったと判断して修正する必要があります。

2011.8.12追記
ツールをアップし忘れていました。遅ればせながらアップしましたのでよかったら使ってみてください。
ソフト管理ツール(version_check.xls」をダウンロード)

続きを読む "◆Excel VBA(<PC資産管理>使用ソフトウェアのバージョンを管理するツール)" »

2010年11月 6日 (土)

▲VBScript(複数のIEを一気に終了する)

VBスクリプトネタ第2弾です。
最近IEを一気にたくさん開いておこなう作業が多くて、終了する際に一画面一画面閉じていたのですが
いい加減面倒くさくなったので一気に閉じるVBSを作成してみました。
IEにはWordのように一気に閉じる機能がないようなので自作しました。
テキストエディタに張り付けて、ショートカットファイルをツールバーの「クイック起動」に置いておけば、即座
にIEを終了することができます。お試しあれ。
ほぼこのままVBAにしても実行できます。

Option Explicit

Dim lVal
Dim oWinS
Dim objShell
Dim objWindowsShell

Set objShell = CreateObject("Shell.Application")
Set objWindowsShell = objShell.Windows()

Dim a
Dim i
ReDim a(0)
For Each oWinS In objWindowsShell
    If InStr(LCase(oWinS.FullName), "iexplore.exe") > 0 Then
        i = i + 1
        ReDim Preserve a(i)
        Set a(i) = oWinS
    End If
Next
For i = 1 To UBound(a)
    a(i).Quit
Next

Set oWinS = Nothing
Set objShell = Nothing
Set objWindowsShell = Nothing
WScript.Quit

« 2010年10月 | トップページ | 2010年12月 »