lycheejam's tech log

チラ裏のメモ帳 | プログラミングは苦手、インフラが得意なつもり。

C#でOutookのアドインを作る(添付ファイルチェック)

概要

Outlookでメール送信時に添付ファイルをチェックして
WordまたはExcelファイルがあればメッセージボックスを表示して注意を促します。

ほんとは各ファイルの変更履歴を調べて
変更履歴が存在するかどうかまで判定したかったけどわからなかった。

目次

  • 概要
  • 目次
  • 環境
  • ソース
  • Office Developer Toolsのインストール
  • ほんとにやりたいこと
  • 参考サイト様
  • 雑感

環境

  • VisualStudio Community 2015 Update3
  • Outlook 2016(試用版)
  • Office Developer Tools
続きを読む

Excel VBAでデータ高速読み込み&書き込み(パターン3)

Excel VBAでデータ高速読み込み&書き込み(パターン3)

パターン3です。
前回のパターン2の応用でグルーピング処理を行いながら動的2次元配列を使用して
高速に読み込み書き込み処理を行います。

パターン1,2はこちら

kitigai.hatenablog.com
kitigai.hatenablog.com

目次

  • Excel VBAでデータ高速読み込み&書き込み(パターン3)
    • パターン1,2はこちら
  • 目次
  • 処理の概要
    • 想定データ
    • 抽出条件
  • ソース
  • グルーピング処理
  • 雑感

処理の概要

動的2次元配列を使ってちょっとだけ抽出処理を入れてみようと言う感じです。

続きを読む

Excel VBAでデータ高速読み込み&書き込み(パターン2)

Excel VBAでデータ高速読み込み&書き込み(パターン2)

パターン2です。

前回のパターン1の応用です。
パターン1はこちら
kitigai.hatenablog.com

目次

  • Excel VBAでデータ高速読み込み&書き込み(パターン2)
  • 目次
  • 処理の概要
  • ソース
  • 2次元配列の再宣言
  • 行列の入れ替え
  • 雑感

処理の概要

前回はデータ数を最初に調べて2次元配列を宣言しましたが
今回は条件でデータを抽出するため最終的なデータ数が不明です。

1.データ読み込んで条件にヒットするか調べる。
2.データが条件にヒットしたら2次元配列を再宣言して要素数を増やす。
3.1と2をどんどん繰り返す。
4.行列入れ替え処理
5.一括転記
ざっとこんな感じっす

今回の読み込み処理はグルーピング処理の過程でできたものなので
抽出条件に当てはまるたびに再宣言しているため
無駄っちゃ無駄です。でも、そこら辺の巷にあふれてるVBAプログラムよりは早いです。

仕様等で数値が決まってる場合は動的2次元配列は使わなくてもいいかもね

続きを読む

Excel VBAでデータ高速読み込み&書き込み(パターン1)

Excel VBAでデータ高速読み込み(パターン1)

Excel VBAでデータを高速に読み込んで一括でシートに転記します。
大きく分けて2パターン紹介するつもりです。
グルーピングロジックを追加したものも含めれば3パターン

パターン1

最初から読み込むデータ数と項目数がわかっている。(この記事)

パターン2

読み込み時に抽出処理(データの選別)を行うので読み込むデータ数がわからない
kitigai.hatenablog.com

パターン3

パターン2の応用でグルーピングで抽出条件を設定します。
グループ内に条件に合うデータが2つ以上あればグループをインプットすると言った具合です。
kitigai.hatenablog.com

どのロジックでも100万レコード読み込み&書き込みチャレンジ実施済みです。

目次

  • Excel VBAでデータ高速読み込み(パターン1)
    • パターン1
    • パターン2
    • パターン3
  • 目次
  • 処理の概要
  • ソース
  • 参考サイト様
  • 雑感

処理の概要

通常のどの言語にでもあるようなStreamReaderを使用して1レコード(行)読み込み
セルに書き込むと言う風な方法にするとExcel VBAでは処理が遅く時間がもったいないです。

なので動的2次元配列を使用し読み込んだデータを2次元配列ごと一括でシートに転記します。

1.データ数調べる
2.データ数で2次元配列宣言する
3.読み込んだデータどんどん配列に追加していく
4.配列ごと一括で転記

こんな感じです。

続きを読む

Excel VBAでグルーピングしてセルに罫線を設定する

概要

kitigai.hatenablog.com
これの続きです。

色付けただけじゃわかりずらいよね?よね?
なので前のソースに少し手を加えて罫線も設定します。

前提等は前の記事と一緒です。
ソースだけ貼ります。

目次

  • 概要
  • 目次
  • ソース
  • 参考
  • 雑感
続きを読む