VBA 〜 Format関数 

February 17 [Wed], 2010, 14:34
数字を整形して表示したい。

Format(Suuji, "###,###,##0")
  Suuji = 1234567 のとき、「1,234,567」

Format(Suuji, "@@@@")
  Suuji = 12 のとき、「  12」← 12の前にスペースが2つ入る

CSS backgroundプロパティ 

November 11 [Wed], 2009, 10:05
backgroundプロパティは以下の順で指定。
もちろん、以下の個別での指定も可能。

background-color
 #FFFFFF … RGB形式で指定

background-image
 url(画像ファイルのURL)

background-repeat
 no-repeat / repeat-x / repeat-y

background-attachement
 scroll / fixed
 ※fixedはIE6では対応していない。以下で対応可能??
  background-position: expression
  ('10px '+this.parentNode.scrollTop + 'px');


background-position
 0px 0em / top right bottom left center / expression

*☆*・。.. 。・*☆*・。.. 。・*☆*・。.. 。・*☆*・。.. 。・*☆*

参考URL:http://www.css-lecture.com/log/css-beginner/041.html

よく忘れるからメモ。

Excelの基本操作 〜 オブジェクトの選択 

June 16 [Tue], 2009, 21:21
図形など、オブジェクトに対しての操作。

対象version: Excel2007

オブジェクト全部を一気に選択したいとき
[ホーム]タブ(キー操作なら Alt, H)
  →[編集]グループ(右のほうにある)
  →[検索と選択]
    →条件を選択してジャンプ(S)...
    →選択オプション
      オブジェクト(B)
        ↑↑↑↑
      ここを選択して[OK]押下

マウスポインタをオブジェクト選択モードにしたいとき
  →[編集]グループ(右のほうにある)
  →[検索と選択]
    →オブジェクトの選択(O)

※Excel2007 より前のversionで、「オブジェクトの選択」が
 ウィンドウの下のほうに出ていた(デフォルトかどうか不明)のに
 なかなか見つからなかったからメモ。

Excelの基本操作 〜 オートコレクト 

May 27 [Wed], 2009, 18:19
(C)や(c)と入力するとマルcに変換されてしまう…など、
オートコレクト機能で入力内容を勝手に変更されるのが
不都合な場合の対処。

Excel2007の場合
Officeボタン(左上にあるボタン)
  →Excel のオプション(I)
  →文章校正
    オートコレクトのオプション(A)...
    →オートコレクト タブ
      入力中に自動修正する(T)
        ↑↑↑↑
      このチェックを外す

それ以前versionのExcelの場合
メニュー→ツール
    →オートコレクトのオプション
      →オートコレクト タブ
      入力中に自動修正する(T)
        ↑↑↑↑
      このチェックを外す

※アルファベット入力時に英単語と間違われて、勝手に
 頭文字だけ大文字にされてしまったりというようなときも
 オートコレクトタブで機能をオフにするとOK。

VBA基礎 〜 Integer 

May 18 [Mon], 2009, 19:32
Integerの範囲

Integerは2バイト。
2 ^ (8 * 2)の種類の数字を扱える。
その中に負の値と0も含まれるので、
扱える範囲は、
- 2 ^ (8 * 2) / 2 〜 2 ^ (8 * 2) / 2 - 1

数字に直すと、-32,768 〜 32,767。


小数点以下の処理

Int(number)
  指定した数値の整数部分を返します。
  負の値を指定した場合、引数 number を超えない最大の負の整数を返す。
  
  1.5 → 1、-1.5 → -2(-2 < -1.5)

Fix(number)
  指定した数値の整数部分を返します。
  負の値を指定した場合、引数 number以上の最小の負の整数を返す。

  
  1.5 → 1、-1.5 → -1(-1.5 < -1)

CInt(expression)
  式を特定のデータ型に変換します。
  小数部分は丸められます。
  
  負の値を指定すると、近いほうの整数になる。
   1.49 → 1、 1.5 → 2
  -1.49 → -1、-1.5 → -2

Round(expression [,numdecimalplaces])
  指定された小数点位置(numdecimalplaces)で丸めた数値を返します。

  numdecimalplaces を指定しないと、小数点以下で四捨五入。
  負の値を指定すると、近いほうになる。

mod_rewriteの追加インストール 

March 30 [Mon], 2009, 12:32
apacheにモジュールを追加する方法

apache2.2.4にmod_rewriteを組み込む。
・apacheのソースディレクトリ
  /usr/local/src/httpd-2.2.4/
・apacheのインストールディレクトリ
  /usr/local/apache2/

mod_so が組み込み済みであることを確認。

[root@myhost ~]# /usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_log_config.c
mod_env.c
mod_unique_id.c
mod_setenvif.c
mod_ssl.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_suexec.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c

apacheのソースディレクトリからmod_rewrite関連のソースファイルをコピーする

[root@myhost ~]# cd /usr/local/src/httpd-2.2.4/modules/mappers/
[root@myhost mappers]# ls *rewrite* -l
-rw-r--r-- 1 root root 4382 11月 30 2004 NWGNUrewrite
-rw-r--r-- 1 root root 150867 9月 15 2006 mod_rewrite.c
-rw-r--r-- 1 root root 3995 8月 6 2006 mod_rewrite.dsp
-rw-r--r-- 1 root root 15 11月 22 2004 mod_rewrite.exp
-rw-r--r-- 1 root root 1340 7月 12 2006 mod_rewrite.h
[root@myhost mappers]# cp -p mod_rewrite.c /usr/local/apache2/3rdparty/.
[root@myhost mappers]# cp -p mod_rewrite.h /usr/local/apache2/3rdparty/.
[root@myhost mappers]# mkdir /usr/local/apache2/3rdparty/
[root@myhost mappers]# cd /usr/local/apache2/3rdparty/
[root@myhost 3rdparty]# ls
mod_rewrite.c mod_rewrite.h

mod_rewriteコンパイル

[root@myhost 3rdparty]# /usr/local/apache2/bin/apxs -c mod_rewrite.c
/usr/lib/apr-1/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -pthread -I/usr/local/apache-2.2.4/include -I/usr/include/apr-1 -I/usr/include/apr-1 -c -o mod_rewrite.lo mod_rewrite.c && touch mod_rewrite.slo
/usr/lib/apr-1/build/libtool --silent --mode=link gcc -o mod_rewrite.la -rpath /usr/local/apache-2.2.4/modules -module -avoid-version mod_rewrite.lo
[root@myhost 3rdparty]# ls -l
合計 240
-rw-r--r-- 1 root root 150867 9月 15 2006 mod_rewrite.c
-rw-r--r-- 1 root root 1340 7月 12 2006 mod_rewrite.h
-rw-r--r-- 1 root root 822 3月 30 11:27 mod_rewrite.la
-rw-r--r-- 1 root root 319 3月 30 11:27 mod_rewrite.lo
-rw-r--r-- 1 root root 70184 3月 30 11:27 mod_rewrite.o
-rw-r--r-- 1 root root 0 3月 30 11:27 mod_rewrite.slo

apacheへの登録

[root@myhost 3rdparty]# /usr/local/apache2/bin/apxs -i -a -n rewrite mod_rewrite.la
/usr/local/apache-2.2.4/build/instdso.sh SH_LIBTOOL='/usr/lib/apr-1/build/libtool' mod_rewrite.la /usr/local/apache-2.2.4/modules
/usr/lib/apr-1/build/libtool --mode=install cp mod_rewrite.la /usr/local/apache-2.2.4/modules/
cp .libs/mod_rewrite.so /usr/local/apache-2.2.4/modules/mod_rewrite.so
cp .libs/mod_rewrite.lai /usr/local/apache-2.2.4/modules/mod_rewrite.la
cp .libs/mod_rewrite.a /usr/local/apache-2.2.4/modules/mod_rewrite.a
ranlib /usr/local/apache-2.2.4/modules/mod_rewrite.a
chmod 644 /usr/local/apache-2.2.4/modules/mod_rewrite.a
PATH="$PATH:/sbin" ldconfig -n /usr/local/apache-2.2.4/modules
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/apache-2.2.4/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/apache-2.2.4/modules/mod_rewrite.so
[activating module `rewrite' in /usr/local/apache-2.2.4/conf/httpd.conf]
[root@myhost 3rdparty]# less /usr/local/apache2/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so

apacheの再起動

[root@myhost 3rdparty]# cd
[root@myhost ~]# /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]

参照サイト:apxsでapacheにモジュールを追加する

PostgreSQL DBスクリプト 

March 19 [Thu], 2009, 18:02
PostgreSQL
データベース名: TESTDB
DBの文字コード: UTF-8
DBのバックアップ先: /var/testdbbackup/
バックアップファイル名: TESTDByyyymmdd.gz

バックアップのシェルスクリプト

#!/bin/sh
set `date +%Y%m%d`
#su - postgres -c '/usr/bin/pg_dump TESTDB | gzip > TESTDB.gz'
su - postgres -c '/usr/local/pgsql/bin/pg_dump TESTDB | gzip > TESTDB.gz'
mv /usr/local/pgsql/TESTDB.gz /var/testdbbackup/TESTDB$1.gz

chown root:wheel /var/testdbbackup/TESTDB$1.gz
chmod 640 /var/testdbbackup/TESTDB$1.gz

#set `date --date '2 days ago' '+%Y%m%d'`
#rm -f /var/testdbbackup/TESTDB$1.gz

リストアのシェルスクリプト

起動方法
[ root@myhost ]# ./testdb_restore.sh /var/testdbbackup/TESTDB20090418.sh

スクリプト本体
#!/bin/sh

BACKUP_FILE=$1

if [ ! "$BACKUP_FILE" ]; then
    echo "no arguments.";
    exit 1;
fi

if [ -f $BACKUP_FILE ]; then
    chmod 644 $BACKUP_FILE

    su - postgres -c 'cd; dropdb TESTDB'
    su - postgres -c 'cd; createdb TESTDB -E UTF-8'
    su - postgres -c "cd; gunzip -c $BACKUP_FILE | nkf -w | psql -e -d TESTDB"

    chmod 640 $BACKUP_FILE
fi

exit 0;

SELinuxとTomcat4.1の自動起動 

March 18 [Wed], 2009, 18:14
SELinuxとTomcat4.1の自動起動

SELinuxが有効の状態で、Tomcatの自動起動ができない。

SELinuxが有効の状態で、PostgreSQL8.1.9は
起動スクリプトに変更を加えて自動起動できた。

SELinuxを無効に設定
/etc/selinux/config
SELINUX=enforcing
   ↓
SELINUX=disabled

PostgreSQLの自動起動スクリプト編集
/etc/init.d/postgresql
# For SELinux we need to use 'runuser' not 'su'
if [ -x /sbin/runuser ] ; then
SU=runuser
else
SU=su
fi
・・・・・・
PGLOG="$prefix/log/postgresql_log"

# For SELinux we need to use 'runuser' not 'su'
if [ -x /sbin/runuser ] ; then
SU=runuser
else
SU=su
fi
・・・・・・
# Parse command line parameters.
case $1 in
start)
$ECHO_N "Starting PostgreSQL: "$ECHO_C
touch $PGLOG; chown $PGUSER:$PGUSER $PGLOG
$SU - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1
echo "ok"
;;
stop)
・・・・・・
restart)
echo -n "Restarting PostgreSQL: "
su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"
su - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1
echo "ok"
;;
reload)
・・・・・・

ブートローダー「GRUB」について 

March 18 [Wed], 2009, 18:14
ブートローダー「GRUB」について


OS: RedHat Linux 5

GRUBの設定ファイル(/boot/grub/grub.conf)

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.15-1.2054_FC5smp)
root (hd0,0)
kernel /vmlinuz-2.6.15-1.2054_FC5smp ro root=LABEL=/1 rhgb quiet vga=0x303
initrd /initrd-2.6.15-1.2054_FC5smp.img

default=0 : デフォルトで起動するOSは、メニューの1番目
timeout=5 : メニュー画面を5秒間表示
splashimage=画像ファイルを指定: メニュー画面の背景に使う画像
hiddenmenu: OSを選択するメニュー画面を非表示
title 表示したい名前: 起動したいOSを識別できるようなタイトル
  root 〜: カーネルイメージが格納されている場所
  kernel 〜: カーネルイメージのファイル
    オプション:ro マウントしたディレクトリを
           読み込み可能にする
         :rw 読み書き可能
    オプション:root=〜
          カーネル起動時に、どのデバイスを
          ルートディレクトリにするのかを指定
          例.root=/dev/hda1
          上では「LABEL=/1」とある。/etc/fstab参照
    オプション:rhgb 起動画面をGUIにする
    オプション:quiet 起動時の詳しいメッセージを省略

※「#」をつけるとコメントアウトできる

複数のOSがある場合の書き方
tittle 〜(1番目のOS)
  〜
  〜
  〜
tittle 〜(2番目のOS)
  〜
  〜
  〜

/etc/fstab

LABEL=/1 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0

参考サイトへのリンク

参考にさせてもらってます
ブートローダー、GRUBの設定

Excel 印刷ページ数を取得する方法 

March 12 [Thu], 2009, 18:11

Dim Sheet1 As WorkSheet
Dim iPageCount As Integer

確実な方法

Sheet1.Select
iPageCount = Application.ExecuteExcel4Macro("get.document(50)")
Sheet1.Cells(1, 1).Select

※ExecuteExcel4Macroでページ数を取得する前に
 該当箇所をSelectしないといけないらしい。
複数シートにまたがる場合は、足し算しないと
いけないのかも?

不確実な方法
Excel にバグがあります!!

'水平方向/垂直方向の改行の数
iH_Break = Sheet1.HPageBreaks.Count
iV_Break = Sheet1.HPageBreaks.Count

'ページ数
iPageCount = (iH_Break + 1) * (iV_Break + 1)

こちらはそのまま上記のコードを記述しても、
iH_Break, iV_Break に正しく値がセットされない。

改ページプレビューに切り替えると正しく値がセットされるらしい。

試してないけど

'改ページプレビューを表示
ActiveWindow.View = xlPageBreakPreview