カテゴリー
Microsoft

【Excel VBA】指定ブックのワークシートの範囲から文字列が一致する場所を返すクラスのコード!

仕様。何ができるクラスなの?

  • 検索文字列は複数渡すことができる。
  • 検索は完全一致、部分一致の両方に対応する。
  • 結果は A1 参照形式、R1C1 参照形式のどちらでも得られる。例えばこんなイメージ。
    • A1 参照形式: (“A1”, “B3”, “C6”)
    • R1C1 参照形式: ((1,1), (2,3), (3,6))
カテゴリー
Microsoft

【Excel VBA】2 次元配列の各要素とインデックスを取り出すスニペットコード

ポイント

  • 配列の要素数を意識しないで、かつ、インデックスを取得してループする。
  • LBound でインデックスの最小値を、UBound でインデックスの最大値を取得する。
  • LBound、UBound 関数で n 次元目のインデックスを取得するには 2 つ目の引数に n を指定する。
    • 1 次元目: LBound(values, 1) UBound(values, 1)
    • 2 次元目: LBound(values, 2) UBound(values, 2)
カテゴリー
Microsoft

【Excel VBA】指定したブックのシートの列の値を 1 からの連番に置換した配列を生成するクラスコード

ポイント

  • 対象範囲セルが 1 セルのみの場合、Range.Value は配列にならない。よってこの場合だけ別に処理をする。
カテゴリー
Linux

【VirtualBox】【Mac】【CentOS7】LAMP (ただし Nginx) 環境を整える

環境

  • MacBook Pro (Retina, 13-inch, Late 2012)
  • OS X El Capitan 10.11.3(15D21)
  • VirtualBox バージョン 5.0.14 r105127

構築するもの

  • CentOS7 仮想マシン
  • 仮想マシン IP アドレス: 192.168.56.111
  • 仮想マシンへの SSH 接続環境
  • chrony (インターネット時刻同期) と Vim
  • ファイアウォールは SSH と HTTP のみ開放
  • Nginx ← 最新版
    • ドキュメントルートは /var/www/html/ とする。
    • PHP-FPM を導入する。
    • プロキシキャッシュ設定は行わない。
  • MariaDB ← 最新版
    WordPress 用に次の内容の DB を作る。

    • データベース: wpdb
    • ユーザー: wpuser
    • パスワード: wppass
  • PHP ← 最新版
    最低限と思われる次をインストールする。

    • php: PHP 本体
    • php-gd: 画像処理
    • php-mbstring: マルチバイト文字取り扱い
    • php-mysqlnd: MariaDB 接続
    • php-opcache: キャッシュ
  • WordPress
    • http://192.168.56.111
    • リビジョンは 3 に設定
    • WordPress ユーザー名: wploginuser
    • WordPress パスワード: wploginpass
カテゴリー
Google

【Windows】Go 言語をインストールし、動作の確認、開発準備を整える手までの手順

次からあっさりと Go 言語開発環境をセットアップできるようになることを目的に、本投稿で手順を残しますわ♪結構つまづきましたの、てへ。

環境

  • Windows7 Professional 32bit

Go 言語インストール

  1. Downloads – The Go Programming Language
    32bit 版は、一番上ではなく [Stable version] の中にあった。
  2. go1.6.windows-386.msi を実行。インストール先は C:¥Go のままとした。
  3. コマンドプロンプトで go version を実行し、バージョン情報が表示されることを確認。

Go 言語で Hellow World

カテゴリー
Microsoft

【Excel VBA】2次元配列から1次元目の要素 (配列) を取り出すことはできません><

ポイント

  • 2次元配列から1次元目の要素 (配列) を取り出すことはできない。
  • Variant を使用して、擬似的なジャグ配列を作成すれば可能
  • 多次元配列とジャグ配列は異なり、同様に扱うことができない。
  • 例えば、Range にジャグ配列を代入しても、シートにジャグ配列の要素は反映されない。

具体例

カテゴリー
Microsoft

【Excel VBA】辞書オブジェクト、Scripting.Dictionary、ディクショナリ使用時の注意点!

Excel 2013 VBA でのディクショナリ注意点!!

  • ディクショナリのキー: 整数または文字列の使用が一般的だが、配列以外の任意の形式をとれる。
  • ディクショナリの値: クラスをはじめ、なんでも入る、はず。
  • イミディエイト ウィンドウにディクショナリオブジェクトをウォッチ表示したとき、確認できるのはキーのみ。
  • イミディエイト ウィンドウでディクショナリのアイテムを一覧表示したいときは、ウォッチ式として dictionary.items を追加すること。
  • ループでディクショナリのアイテムを取り出すには、dictionary.items を回す こと。dictionary を回そうとすると次のエラーとなった。
    [実行時エラー ‘424’: オブジェクトが必要です。]
  • 同様に、ループでディクショナリのキーを取り出すには dictionary.keys を回せばよい、はず(未確認)。
  • Add 関数の使い方。※1 の場合はキーが重複していてもエラーとならない。上書きする。
    • dictionary.Add "key", "item"
    • dictionary.Add key:="key, Item:="item"
    • Call dictionary.Add("key", "item")
    • Call dictionary.Add(key:="key", Item:="item")
    • dictionary("key") = "item" ※1
    • Set dictionary("key") = itemObject ※1
カテゴリー
Microsoft

【Excel VBA】CSV ファイルを 2 次元配列として得るクラスのコード♪

コードのポイント

  • CSV データは一時作業用のエクセルファイルを新規作成し、そこにインポートする。このエクセルは最後に保存しないで削除する。
  • QueryTables でインポートしたデータ範囲には、Name をあらかじめ指定できる。これを Range 関数で指定してデータを取得する。
カテゴリー
Microsoft

【Excel VBA】データの入ったことのある最大行数・最大列数を取得するコード

ポイント

  • Worksheet.UsedRange プロパティを利用して最大行数・最大限を取得する。
  • 書式やデータが入っていなくても過去に編集のあったセルも対象となる。
  • 過去に編集があったセルは [削除] すれば対象から外れる。
カテゴリー
Microsoft

【Excel VBA】【2】CSV ファイルを指定ブックのシートにテキスト形式でインポートするクラスのコード♪

ポイント

  • CSV 形式のファイル、つまりカンマで区切られたデータのファイルを読み込むことができる。ファイル拡張子が .csv でなくても読み込める。
  • 必ずテキスト形式でインポートされるように TextFileColumnDataTypes に指定する配列の作り方を工夫した。
  • コネクションは生成されたものだけ削除するように改善した。
  • Name オブジェクトの削除方法を改善し、シート名に影響を受けないようにした。
  • 他のエクセルなどからも呼び出せるようにブック名を指名するようにした。