MW211 EXIT

devlog
データオブジェクトの変遷
2014年08月14日
以下のような感じなんですかね。。。
┌──────────────────────────────────────┐
│DAO(Data Access Objects)                                                    │
│RDO(Remote Data Objects)                                                    │
│ADO(ActiveX Data Objects)                                                   │
│                                                                            │
│ODBC(Open Database Connectivity)                                            │
│OLE DB(Object Linking and Embedding, DataBase)                              │
│COM(Component Object Model)                                                 │
│                                                                            │
│JDBC(Java DataBase Connectivity)                                            │
│SOAP(Simple Object Access Protocol)                                         │
│                                                                            │
│SQL/CLI                                                                     │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│┌───┐    ┌───┐                                                    │
││ DAO  │┬→│ ADO  │WindowsXP以前   =ADO2.x                            │
│└───┘│  └───┘WindowsVista以降=ADO6.x                            │
│┌───┐│  ┌───┐                        ┌───┐┌───┐        │
││ RDO  │┘  │ ODBC │                        │ JDBC ││ SOAP │        │
│└───┘    └───┘                        └───┘└───┘        │
│        ┌───┐  ┌───┐  ┌───┐                                  │
│        │ OLE  │→│ COM  │→│ .NET │                                  │
│        └───┘  └───┘  └───┘                                  │
└──────────────────────────────────────┘
分類:設計
ExcelVBA/ActiveXコントロール部品の設定
2014年08月13日
「デザインモード」にした上で右クリックで「プロパティ」を編集する

共通の代表的なプロパティ
・フォント  …フォントタイプのみ代表的に表示されるが
              詳細設定でフォントサイズも変更できる

ボタンの代表的なプロパティ
・Caption  …ボタンのラベル名

コンボボックス(プルダウンメニュー)の代表的なプロパティ
・Style=2(fmStyleDropDownList)  …入力禁止にする
分類:ExcelVBA
ExcelVBA/ボタンを追加する
2014年08月12日
「開発タブ」の「挿入」。
分類:ExcelVBA
人員配置の変遷
2014年08月11日
行きつく先は人工知能なのか。こんな段階を踏んでいるところだろう。
┌──────────────────────────────────────┐
│        ┌──────┐  ┌──────┐  ┌──────┐                │
│設計担当│アーキテクト│  │アーキテクト│  │アーキテクト│                │
│        ├──────┤  ├──────┤  ├──────┤                │
│製造担当│ プログラマ │→│  (ツール)  │→│  (ツール)  │                │
│        ├──────┤  ├──────┤  ├──────┤                │
│評価担当│   テスタ   │  │   テスタ   │  │  (ツール)  │                │
│        └──────┘  └──────┘  └──────┘                │
└──────────────────────────────────────┘

でも、実際は「システムエンジニア」という名のプログラマが全てを兼ねてたりする。
┌──────────────────────────────────────┐
│        ┌──────┐  ┌──────┐                                  │
│設計担当│アーキテクト│  │アーキテクト│                                  │
│        │     兼     │  │     兼     │                                  │
│製造担当│ プログラマ │OR│ プログラマ │                                  │
│        ├──────┤  │     兼     │                                  │
│評価担当│   テスタ   │  │   テスタ   │                                  │
│        └──────┘  └──────┘                                  │
└──────────────────────────────────────┘
分類:設計
ExcelVBA/データ範囲の縮小
2014年08月10日
以下のように「.SpecialCells(xlLastCell)」を使うと、
「Ctrl+End」と同じ挙動となる。
┌──────────────────────────────────────┐
│Cells(1, 1).SpecialCells(xlLastCell)                                        │
└──────────────────────────────────────┘
「Cells(1, 1).SpecialCells(xlLastCell).Row」という風にすると
空行を跨いだ最後の行を調査できるので便利だ。
つまり、「.SpecialCells(xlLastCell)」は
データのある範囲の末尾に行けるということだ。

但し、一度、末尾の方に値を入力すると、それを削除しても
データのある範囲は縮小されない。
ファイルを保存する時に再計算されるのだ。

よって、「.Cells.Clear」だけでは元あったデータの範囲が残ってしまうということだ。

これでは困る場合、ファイルを保存すれば解決する訳だが
そんなことのためにファイルにアクセスしたくはない。

その解決方法の裏技。
「.UsedRange.Row」をシートに対して使ってあげればいい。
ということで、以下のようなダミー処理を実行すればいいらしい。
┌──────────────────────────────────────┐
│ダミー変数 = UsedRange.Row                                                  │
└──────────────────────────────────────┘

ま、たいていは範囲の境目とかを検索する時に再計算したくなるものだから
以下のようにダミーの代入処理をかましてやればいいのかもしれない。
┌──────────────────────────────────────┐
│With ThisWorkbook.ActiveSheet                                               │
│    y = .UsedRange.Row  'ダミー処理                                         │
│    y = .Cells(1, 1).SpecialCells(xlLastCell).Row                           │
│End With                                                                    │
└──────────────────────────────────────┘
分類:ExcelVBA
ExcelVBA/別シートを選択
2014年08月09日
別シートのセルを選択しようとした場合、以下のように指定しまいがちだ。
┌──────────────────────────────────────┐
│Worksheets("別シート").Range("A1").Select                                   │
└──────────────────────────────────────┘
でも「実行時エラー'1004':RangeクラスのSelectメソッドが失敗しました。」となる。

以下のように二段階でシートを選んで、セルを選ばなければならない。
┌──────────────────────────────────────┐
│Worksheets("別シート").Select                                               │
│Worksheets("別シート").Range("A1").Select                                   │
└──────────────────────────────────────┘

シートは既に絞り込まれているから、セルについては以下のように省略できる。
┌──────────────────────────────────────┐
│Worksheets("別シート").Select                                               │
│Range("A1").Select                                                          │
└──────────────────────────────────────┘

これを一発でやるには「Application.Goto」を使えばいいらしい。
┌──────────────────────────────────────┐
│Application.Goto Worksheets("別シート").Range("A1")                         │
└──────────────────────────────────────┘
この場合は、(「Application.Goto」がその役割を担うので)
「.Select」は不要となる。
分類:ExcelVBA
Windows/BOM除去
2014年08月08日
BOM付きUTF-8ファイルをBOM無しにする方法。

・サクラエディタで開いて、BOM無しで保存する。

他にもいろいろありそう。
分類:Windows
設計/複数条件の順番
2014年08月06日
「if (条件1 and 条件2)」や「if (条件1 or 条件2)」のように
複数の条件を組み合わせて条件式の場合、
論理的には「条件1」と「条件2」の順番を入れ替えても問題ないことになるが
(「どっちも」もしくは「どっちか」ってことだから)
プログラムの場合は前から順番に処理をおこなっていくということに留意すべき。

つまり「条件1」が「条件2を判定しても問題ない」という条件の場合
「if (条件2を判定しても問題ない and 条件2)」となるが
これは順番を入れ替えたらエラーとなるわけだ。

つまりAND条件の場合、「条件1」が「偽」の時点で
「条件2」へは進まない(で「偽」と結論づける)。
一方OR条件の場合、「条件1」が「真」の時点で
「条件2」へは進まない(で「真」と結論づける)ということになる。

だから「if (isset($a) && ($a == 1))」のような条件式で
「$a」が定義されていなくても問題なく動くということになる。
順番無視だったら、「$a == 1」を先に処理して未定義エラーに
なってしまう可能性もあるってことになる。
分類:設計
Windowsバッチ/カレントフォルダ
2014年08月05日
実行したバッチのあるフォルダにコピーしてきたい場合。
#Linuxでいうところの「cp コピーしたいファイル .」をしたい場合。
┌──────────────────────────────────────┐
│copy コピーしたいファイル %~dp0                                             │
└──────────────────────────────────────┘

「.」が「%~dp0」ってことになる。

「%0」がバッチファイルのフルパス(ファイル名も含む)でかつ
ダブルクォーテーションで囲まれたもの。

「%~0」でダブルクォーテーションをはずしたもの。

「%~dp0」でドライブ名とパスのみ、つまりファイル名を除いたものとなる
ということらしい。

「%~d0」でドライブ名のみ、「%~p0」でパス名のみとなる。

但し、「%dp0」「%d0」「%p0」でダブルクォーテーションつきで
分割はできないようだ。
分類:Windows
座右の銘
2014年08月04日
・完璧とは、これ以上付け足すものがない状態ではなく、
  これ以上削ぎ落とすものがない状態である
・戦術的勝利で戦略的敗北を覆すことはできない
・選択と集中そして速度(スピード)
・愚者は成功体験に学び、賢者は歴史に学ぶ
分類:設計
前へ 1 … 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 … 156 次へ