Sheets(1).Delete ' 1 番目のシートを削除 Sheets("Sheet1").Delete '「Sheet1」のシートを削除 Worksheets(1).Delete ' 1 番目のシートを削除 Worksheets("Sheet1").Delete '「Sheet1」のシートを削除
ExcelVBAでシートに高速にCSVを読み込む
Dim ws As Worksheet Set ws = ActiveSheet ' CSV のデータを取り込むシート Dim qt As QueryTable Set qt = ws.QueryTables.Add(Connection:="TEXT;D:\Tips.csv", Destination:=ws.Range("A1")) ' CSV を開く With qt .TextFilePlatform = 932 ' 文字コードを指定 .TextFileParseType = xlDelimited ' 区切り文字の形式 .TextFileCommaDelimiter = True ' カンマ区切り .RefreshStyle = xlOverwriteCells ' セルに上書き .Refresh ' データを表示 .Delete ' CSV との接続を解除 End With
MFCのCArray を qsort する
CArray の GetData メソッドで中身がまるまるもらえて、しかも中身書き換えてOKなのです。
struct StructHoge { int number; }; ... CArray <StructHoge, StructHoge> arrayHoge; ... // ソート関数 int compareHoge(void* context, const void* a1, const void* a2) { StructHoge* p1 = (StructHoge*)a1; StructHoge* p2 = (StructHoge*)a2; if (p1->number != p2->number) { return p1->number - p2->number; } return 0; } ... // ソート StructHoge* pHoge = arrayHoge.GetData(); qsort_s((LPVOID)pHoge, arrayHoge.GetCount(), sizeof(StructHoge), compareHoge, NULL);
JSON.NET (NEWTONSOFT.JSON) の基礎
オブジェクト はJObject
配列はJArray
文字列や数値はJValue
配列のループはこんな感じ
JArray jarr = (JArray)jres["results"]; foreach (JObject jobj in jarr) { JValue nameValue = (JValue)jobj["name"]; string name = (string)nameValue; JValue priceValue = (JValue)jobj["price"]; long price = (long)priceValue; Console.WriteLine($"name is {name}, price is {price}."); }
Visual Studio の IntelliSense拡張「Visual Studio IntelliCode」
IntelliSenseの強化版。
機械学習の力を使って、みんながよく使う関数を優先して上に出してくれる。
Visual Studio2017 の新しいバージョンからのみ対応してるみたい。
2018/9/13現在、C++でもいけたよ。
Visual Studioの拡張機能から「intellicode」で探して追加する。
jquery使ってjson読んで出力
... <p> <span id="output_date"></span> Update </p> <p> Version <span id="output_version"></span> </p> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> $(function() { $.getJSON("https://hoge.com/hoge.json" , function(data) { var elem = document.getElementById("output_date"); elem.innerText = data.date; var elem = document.getElementById("output_version"); elem.innerText = data.version; }); }); </script>
ExcelVBA フォームのコンボボックス初期化手順
_Initialize() で初期化する
Private Sub UserForm_Initialize() 'コンボボックスに項目を追加 ComboBox1.AddItem "2009年1月" ComboBox1.AddItem "2009年2月" ComboBox1.AddItem "2009年3月" ComboBox1.AddItem "2009年4月" ComboBox1.AddItem "2009年5月" ComboBox1.AddItem "2009年6月" ComboBox1.AddItem "2009年7月" ComboBox1.AddItem "2009年8月" ComboBox1.AddItem "2009年9月" ComboBox1.AddItem "2009年10月" ComboBox1.AddItem "2009年11月" ComboBox1.AddItem "2009年12月" '初期値を指定 ComboBox1.ListIndex = 5 End Sub
ExcelVBAでレジストリ操作
結構簡単
書き込み
SaveSetting "MyMacro", "Main", "Data", "123"
読み込み
GetSetting("MyMacro", "Main", "Data1")