2016/09/17

VBAでJavaのListっぽいこと

'' 変数宣言
Dim list As Object

'' リストオブジェクト作成
Set list = CreateObject("Scripting.Dictionary")

'' キー、値追加
list.add "key", "value"

'' キーを指定して、値を参照
list("key")

'' 件数
list.Count

'' 指定したキーが存在するかどうかチェック
list.Exists("key")

'' ループ
Dim listKey as Object
Dim val As Object

Set listKey = list.Keys
For Each val In listKey
  '' キーを指定してリストにアクセス
  list(val)
Next

2014/10/28

コンストラクタ

・PHPの場合


関数名「__construct」で定義する。(※先頭にアンダースコア2つ)
引数を指定することも可。

例)
class classNameA {

  // コンストラクタ
  function __construct() {
    // 処理を記述
  }
}

※PHP 5.3.0-5.3.2 までは、クラス名と同じ関数名を定義することでコンストラクタとみなされていたが、PHP 5.3.3 以降は、みなされなくなった。

・Javaの場合


クラス名と同じ関数名で定義する。
戻り値の型は記載しない。
引数を指定することも可。

class classNameA {

  // コンストラクタ
  public classNameA() {
    // 処理を記述
  }
}

<参考>
http://php.net/manual/ja/language.oop5.decon.php

2014/10/03

Excelにおける罫線設定のアクセスキー

アクセスキー(※1)を使用することで、マウス操作よりも素早く罫線を設定することができます。
書式設定する前に、罫線を設定したい範囲を選択しておきましょう。

※1.アクセスキー
Windows基本操作のひとつ。
メニュー項目の後ろに表示される括弧つきのアルファベット1文字がアクセスキー。
ALTキーを押しながらアルファベットを入力することで、該当メニューを選択したことになる。

罫線のアクセスキー

罫線にアクセスキーが表示されていませんが、実際は設定されています。
ALTキーを押しながら、上記画像のアルファベットを入力することで、該当箇所の罫線あり、なしが切り替わります。
設定を確定させる場合はOKボタンをクリックします。
間違ってしまった場合は、キャンセルします。

※括弧内の文字は、アクセスキーを連想させるような単語を入れておきました。正確ではないかもしれません。

2014/08/22

PHPにおける文字列分割について

普通にsplit関数でも使えばよいのだろうと思っていたのだが、そうでもなかった。
split関数は、PHP5.3.0から非推奨とのこと。

・区切り文字で分割したい→explode
・正規表現で分割したい→preg_split

<参考>
http://kyoheigl.me/blog/php/271

2014/08/20

PHPにおける日付書式指定について

月、日に前ゼロをつけたくない場合は、下記のように指定する。

// 日付変数を生成
$datetime = new DateTime();

// フォーマット
$datetime->format(Y/n/j);

※前ゼロをつける場合は「Y/m/d」でよい。

<参考>
http://ponk.jp/php/datetime/function

PHPにおけるCSV出力について

CSV出力には、fpuscsv関数を利用するのが簡単だが、文字コードの指定ができないなど
不便な点がいくつかある。

// 追記モードでファイルを開く
$fp = foepn('ファイルパス', 'a');

// CSV出力用の配列を用意
$line = array();
$line[] = "a";
$line[] = "b";
$line[] = "c";
$line[] = "d";

// 配列を自動的にCSV出力
fputcsv($fp, $line);

// ファイルクローズ
fclose($fp);


(問題点)
 ・文字コードの指定ができない。
 ・エンクロージャを必ず付ける(付けない)ような指定ができない。
 ・改行コードの指定ができない。

この問題を解決する場合は、自前で出力データを編集してファイル出力するしかない。

// 追記モードでファイルを開く
$fp = foepn('ファイルパス', 'a');

// 出力データを編集(改行コードはCRLF)
$line = "a,b,c,d\r\n";

// UTF-8をSJISに変換して出力
fwrite($fp, mb_convert_encoding($line, 'SJIS', 'UTF-8'));

// ファイルクローズ
fclose($fp);

2014/08/01

ExcelのF1キーを無効にするアドイン

マクロを登録したり、レジストリを変更することで対応可能ですが、アドインとしてインストールすることでF1キーを無効化してくれる。
(内部的にはレジストリ変更しているようですが)

http://tsofthome.appspot.com/excel-f1-addin.html

※ダウンロードはVectorから

2014/06/24

XMLファイルの警告に対する対処方法

Eclipseにて、xmlファイルに対する下記警告が検出された場合の対処方法

○警告

  文書に対する文法制約 (DTD または XML スキーマ) が検出されませんでした。

○対応方法

  下記DOCTYPEを追記する。

   <?xml version="1.0" encoding="UTF-8" ? >
   <!DOCTYPE configuration >

(参考)
http://d.hatena.ne.jp/penult/20091128/1259416999

smartyのインストールについて

○目的
 phtmlファイルをEclipse上で編集するため、smartyのエディタを利用する

○手順

1.下記サイトより、プラグインをダウンロード

   https://code.google.com/p/smartypdt/

  使用しているjdkのバージョンにより、モジュールが異なる。
   jdk6:smartypdt-0_9_0.zip
   jdk7:smartypdt-0_9_1.zip

2.ダウンロードしたzipファイルを解凍

3.解凍したファイルをEclipseの該当ディレクトリにコピー

  features、plugins内のファイルをそれぞれコピーする。

  例)smartypdt-0_9_1の場合
      \features\org.eclipse.php.smarty_feature_0.91.0.jar
       ↓
      [Eclipse Home]\features

      \plugins\org.eclipse.php.smarty.core_0.91.0.jar
      \plugins\org.eclipse.php.smarty.ui_0.91.0.jar
       ↓
      [Eclipse Home]\plugins

4.Eclipseをclean起動

  Eclipseのホームディレクトリにある下記ファイルでクリーン起動する。
   「eclipse.exe -clean.cmd」

5.ファイルの関連付け

  メニュー→ウィンドウ(W)→設定(P)
   →一般→エディタ→ファイルの関連付け



○その他

(確認環境)
Eclipse3.6(jdk1.6)

(参考にしたサイト)
http://www.s-arcana.co.jp/tech/2011/06/eclipse-36-pdt-22-php-smarty-smartypdt.html

2014/06/13

リクエストオブジェクトのgetParamメソッドについて

getParam()は、ユーザパラメータ以外からも情報を取得している。 
情報取得の優先順位は以下のとおり。

1.setParam()で設定したパラメータ
2.GETパラメータ
3.POSTパラメータ

setParam()で設定したパラメータからだけ取得したい場合は、getUserParam()を使用する。

(参考)
http://framework.zend.com/manual/1.12/ja/zend.controller.request.html

2014/06/12

デバッグ等で、配列を文字列に変換する方法(PHP)

var_export(配列, true));

(例)
$data = array('key1'=>'data1', 'key2'=>'data2');
var_export($data, true));
  ↓
array (
  'key1' => 'data1',
  'key2' => 'data2',
)

MacのキーボードをWindowsで使用した場合の、文字入力モード(挿入/上書)切り替え方法

テンキーのゼロが、文字入力モード(挿入/上書き)の切り替えに対応している。


MacのキーボードをWindowsで使用した場合の、日本語入力切替方法について

caps lockキーが日本語入力のON/OFFに対応している。
(大文字小文字の切り替えは、shift + caps lock)



2014/06/03

テーブルに主キーを追加する

○PHP
ALTER TABLE テーブル名 ADD PRIMARY KEY(列名);


<参考>
http://www.ksknet.net/postgresql/primary_key.html

Windows7におけるODBC設定について

Windows7(64bit)にて、PostgreSQL(9.1.3)のODBC設定を行おうとした際に、エラーが発生した。

「システムエラーコード 193:のためにPostgreSQL ODBCドライバのセットアッププログラムを読み込むことができません。」

コントロールパネルのODBC設定からではダメで、下記プログラムから設定する必要がある。
"C:\Windows\SysWOW64\odbcad32.exe"

<参考>
http://d.hatena.ne.jp/knaka20blue/20110316/1300247203

2014/06/02

DBの列名変更

○PostgreSQL
ALTER TABLE テーブル名 RENAME 変更前列名 TO 変更後列名;

文字列の末尾1文字を除去

○PHP
  substr(文字列, 0, strlen(文字列) - 1);

  (2014/8/20追記)
   これで良い。
    substr(文字列, 0, -1);

2014/05/22

NTP設定について

○確認コマンド
net time /querysntp

○設定コマンド
net time /setsntp:ntp.nict.jp

※ntp.nict.jpは任意のNTPサーバアドレスを指定


(確認環境)

エクセルの条件付き書式について

条件付き書式のルールにある「数式を使用して、書式設定するセルを決定」の設定方法をまとめた。

例)
ある列(A列)の値が、他の列(B列)の値の50%以上だった場合、該当セルの文字色、背景色を変更する。

①書式を設定する範囲を選択する。
②条件付き書式のダイアログを開いてルールを選択する。
③数式を以下のように設定する。
 「=A3/B3>0.5」
 ※範囲選択した一番上の行番号を指定する。
④書式(文字色、背景色)を設定する。

(条件付き書式をコピーする場合)

 書式のコピー/貼り付けで行う。

 コピー元となるセルが選択された状態(1つのセルでOK)で、書式のコピーを選択するとマウスカーソルがハケのようなアイコンになる。
 そのまま、書式を設定したいセルに対してマウスカーソルをドラッグすることで貼り付けが完了する。

 ※コピー先に他の条件付き書式が設定されている場合にコピーしてしまうと、条件が2重に設定されてしまうため、コピー先の条件をクリアしてからコピーした方がよい。