snippet
なんでかわかりませんが、最近WMIばっかりやってる気がします。まぁ仕事だからやるしかないし、案外面白いので別にいいんですが、資料が全然なかったり、ばらばらだったり、VBSでのやり方しか見つからなかったり、いきなりPowerShellの話をされたり、中々し…
普通だったらコマンドライン引数として呼び出し元のモジュールが渡すべきでしょう。ただ、もう本番稼働中かつその共通モジュールを呼びだしているモジュールが山ほどある、全部直してテストするなんてとても考えられない、なんて状況がたまにあります。 そん…
ただの親近感のお話です。 public class DateDiff { public int Year { get; private set; } public int Month { get; private set; } public int Week { get; private set; } public int Day { get; private set; } public int Hour { get; private set; } …
おさらい タスクを作成する場合はPackage.Executables.Addを呼び出すことで可能となります。具体的に何のタスクを作成するかは「プログラムによるタスクの追加」という資料に記載されているSTOCKモニカーで指定することができます。 返ってくるExecutableク…
つらつら語っても仕方ないのでコードを出しましょう。 public static TEnum GetEnum<TEnum>(string target) { if (string.IsNullOrEmpty(target)) throw new ArgumentException("Target is null."); var type = typeof(TEnum); if (!type.IsEnum) throw new NotSupp</tenum>…
コードサンプル 下準備としてMicrosoft.SqlServer.ManagedDTSを参照設定に追加しないといけないんですが、.NETタブからは見つけられなかったので、C:\Windows\assembly\GAC_MSIL\配下を探してみてください。 using Microsoft.SqlServer.Dts.Runtime; namespa…
JsonObjectの方でItemプロパティを使うようにしました。 前書き なんとかVBAでjsonをパースすることが出来るようになったのはいいけれど、なんでjsonごときにここまで苦戦せにゃならんのだと思うのは正しいし、汎用的なパーサを作ってしまうのがいいのでは?…
前書き せっかくVBAでHTTP通信が出来るんだから未だに流行のjsonでもパースしてみましょう。 とりあえず一つだけ言えることは、やめとけってことです。jsonを扱うなら素直に別の言語を使うか別のデータ形式を使った方が絶対にいいです。本当に死ぬほど面倒で…
ぐぐればいっぱい出てくるけど、断片的にしか見つからないのでまとめる。 MSXML2.XMLHTTPを作成する VBAからHTTP通信をしたい場合はCreateObject(“MSXML2.XMLHTTP”)でIXMLHTTPRequestオブジェクトを作るのが一番簡単だと思う。XMLHttpRequestはjavascriptで…
SQLを動的に生成してOLE DB接続でSELECTを発行するものを作っていたんだけど、そのSQL実行時にある特定のエラーが出た時は別の方法で再試行したい、という案件。 とりあえずエラーが起きた時に返ってくるのはOleDbExceptionみたいなので、catchしてみよう。 …
SQL Serverからデータをとってきたいんだけど、ある特定のユーザでWindows認証によるログインを済ませないと目的のデータが引っ張ってこれない。SQL認証であれば接続文字列にちょちょっと加えればそれで済むんだけど、Windows認証だとそうもいかない。 まぁ…
private static FormUrlEncodedContent CreatePostContent(params Expression<Func<Object, Object>>[] exprs) { var contents = new List<KeyValuePair<string, string>>(); foreach (var expr in exprs) { var obj = expr.Compile().Invoke(null); if (obj == null) continue; if (obj is Byte[]) { contents.</keyvaluepair<string,></func<object,>…
極々稀に西暦→和暦の変換をしなきゃいけないことがあるんだけど、割と面倒だってことだけは知っているのでちょっとまとめておく。 Utilなクラスを作れば十分だと思うが、ありとあらゆるところで出てくる場合は拡張メソッドでもいいかもしれない。 とりあえず…
IEnumerable<dynamic>を継承するクラスを作成しようとするとビルド時に動的なインターフェイス ‘System.Collections.Generic.IEnumerable<dynamic>’ を実装できません と表示される。 dynamicで受け取るオブジェクトがGetEnumeratorを実装していれば普通にforeachでいいんだけ</dynamic></dynamic>…
{ if(Editor.IsTextSelected == 1){ var buf = GetSelectedString; buf = buf.replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/\"/g, """) .replace(/'/g, "'"); Editor.InsText(buf); } })(); アップロードする度ジェネリクスが消滅する…
ドキュメントを読んでもちんぷんかんぷんだったので試行錯誤したあれをメモしておきます。 TFSへの接続 var nc = new NetworkCredential(userName, password); //ここのUriは"http://[TFSのサーバ名]:[ポート番号]/[ディレクトリ]"を指定する var configurat…