カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

VBA CInt関数の注意点

CInt関数はデータ型を変換する際に使用する関数ですが、小数点以下の扱いがRound関数とは異なります。
CInt関数の場合は、四捨六入となり、0.5の場合のみ最も近い偶数に丸められます。

CInt(2.4) = 2
CInt(2.6) = 3

ここまでは通常の四捨五入と同じなのでわかりやすいと思います。

しかし、0.5だった場合だけ動作が異なります。

CInt(2.5) = 2
CInt(3.5) = 4

となります。

3,849 views

ショートカットの作成 VBA

ショートカットを作成する方法のご紹介。
本来は「Windows Script Host Object Model」を参照設定しますが、
今回は参照せずに実行する方法です。

Dim ws
Dim myShortcut

Set ws = CreateObject("WScript.Shell")

Set myShortcut = ws.CreateShortcut("[作成するショートカットのフルパス]")

With myShortcut
    .TargetPath = "[実ファイルのフルパス]"
    .Save
End With
20,801 views

Skypeのサインイン画面からSkype名を削除する

Skype for Windows Desktopのサインイン画面からSkype名を削除する
Skypeにサインインすると、サインイン画面のドロップダウンリストにSkype名が追加されます。

Skypeのサインイン画面からSkype名を削除するには、
%appdata%\skypeを開き、自分のSkype名がついたフォルダーを削除

https://support.skype.com/ja/faq/FA11070/

4,395 views

かなり便利 – PHPで祝日を求める

かなり便利なので、以前から使わせていただいています。
isHoliday($year, $month, $day)だけで祝日かどうかがわかります。
他にもgetWeeksOfMonthという関数で、ある月の第n曜日の日付の取得もできます。

PHPで祝日を求める – ぱぷぅ家のホームページ
http://www.pahoo.org/e-soul/webtech/php02/php02-27-01.shtm

2016.07.05
2016年より施行された「山の日」にも対応されています。

六曜を取得する – 2018.01.18追記

先ほどとはまた別で公開されているプログラムを使って六曜も取得できます。

PHPで3ヶ月カレンダーを作る – ぱぷぅ家のホームページ
https://www.pahoo.org/e-soul/webtech/php02/php02-45-01.shtm

ダウンロードした中の「pahooCalendar.php」を読み込み、
以下のようなコードで六曜が取得できます。

// 六曜取得の設定
$pCalendar = new pahooCalendar();
$pCalendar->setLanguage('jp');
$pCalendar->makeLunarCalendar($year);

// 旧暦の取得
list($qmonth, $qday, $qq) = $pCalendar->Gregorian2Lunar($year, $month, $day);

$rokuyo = $pCalendar->rokuyou($qmonth, $qday);

echo $rokuyo;

通常は上記の方法で取得できるのですが、2018年の1~16日が
取得できなかったので、少し手を加えました。

取得できなかったのは旧暦が負の日付になることが原因でした。
例えば「1/1」だと「12/-15」となる。
「12/-15」とは、12月の0日(ゼロ日)よりも15日前ということになるよう。
つまり、12月1日よりも15日+1日前の日付を出せば良い、ということになります。
それを踏まえたのが以下のコードになります。

list($qmonth, $qday, $qq) = $pCalendar->Gregorian2Lunar($year, $month, $day);

if($qmonth > 0 && $qday > 0) {

    $rokuyo = $pCalendar->rokuyou($qmonth, $qday);

    echo $rokuyo;

} else {

    // 旧暦の日付が負だった場合の処理

    // まず1日の日付オブジェクトを作成
    $qdate = new DateTime("$year-$qmonth-01");

    // 負の日数+1日の分だけ日付を遡る
    $qdate->sub(new DateInterval("P".abs($qday - 1)."D"));

    // 遡った日付で六曜を取得
    $rokuyo = $pCalendar->rokuyou($qdate->format("n"), $qdate->format("j"));

    echo $rokuyo;

}
8,159 views

Procmail 本文を取得する

procmailを使って、本文を変数に格納します。

procmailフラグ「b」…メールの本文をアクションに渡す

:0b
{
    BODY = `sed -e ' 1,/^$/ d'`
}

以上で変数$BODYに本文が格納されます。

参考URL: http://jo1upk.blogdns.net/linux/?%E3%82%BD%E3%83%95%E3%83%88%2Fprocmail%2Fformail

2,779 views