hakeの日記

Windows環境でプログラミングの勉強をしています。

2015-01-01から1年間の記事一覧

EXCEL VBAメモ - 正規表現

使用できる正規表現: Pattern プロパティ - VBScript - MSDN Sub foo() Dim re As Object Dim str As String Set re = CreateObject("VBScript.RegExp") str = "apple" With re .Pattern = "ap" '検索パターンを設定 .IgnoreCase = True '大文字と小文字を区…

EXCEL VBAメモ - Like演算子パターン

"文字列" Like "パターン" ? 任意の一文字 * 任意の文字 # 任意の数値 [a-z] a-z内の一文字 [!a-z] a-zに一致しない一文字

Windows10 - Windows Updateが完了しない

毎月第二火曜日の翌日(日本時間)のWindows Updateですが、Windows 10のPCで確認すると、まだ完了していない!? 「悪意のあるソフトウェアの削除ツール (KB890830)」がインストール待ちで停止状態になっている。この番号で検索してみるとWindows 10に限ら…

Go言語 - 式の構文解析 - 演算子順位法

再起下降法と比較してのメリットは、演算子の優先度に応じてparse関数を作成する必要がなく、演算子の優先順位・結合方向をデータとして与えるだけで良いということ。 ident1 op1 ident2 op2 ident3 op3 ……上記のような並びの式の場合、演算子op1とop2の優先…

Go言語 - 構造体の埋め込みをクラスの継承っぽく使用

埋め込んだ構造体の初期化を、その構造体の初期化関数で初期化するにはどうすれば良いのかわからなかったけれども、レシーバ.埋め込んだ構造体名.関数名()で埋め込んだ構造体に定義した関数を呼べるみたいなので初期化用関数Super()を作ってテスト。 ただし…

Java - インストールせずに環境構築(Windows)

情報元:Qiita - (Windows版JDKをインストールせずに使用する。) JAVA入手先:Java SE ダウンロード(今回は、jdk-8u65-windows-x64.exeを入手) JAVAを本格的には使用しないけれども、ちょっと試したいときには有効です。

Windows10 メジャーアップデート

バージョン1511を適用。特に異常なし。 メモ 入れ替えたキーの情報がリセットされていたのでChange Key v1.50を使用して再度設定。 また、Windows.oldフォルダができたけど、これも1ヵ月で削除されるのだろうか。 削除されました。

EXCEL VBAメモ - 文法(制御構文、関数)

制御文 If 条件 Then ElseIf 条件 Then Else End IfFor 変数 = 開始値 To 終了値 Step 間隔 Exit For NextFor Each 変数 in コレクション Exit For NxetDo While/Until 条件 Exit Do LoopDo Exit Do Loop While/Until 条件Select Case 変数 Case 値 Case 値 …

EXCEL VBAメモ - セルが空か否かの判断

If Range("A9") = Empty Then MsgBox "empty"

EXCEL VBAメモ - 文字と数値の変換

MsgBox Chr(65) ' -> "A" MsgBox Asc("A") ' -> 65

EXCEL VBAメモ - 描画処理無効化(処理速度の向上)

Application.ScreenUpdating = False '無効 Application.ScreenUpdating = True '有効

EXCEL VBAメモ - ファイル選択ダイアログ

Sub fileSelectDialog() Dim fn As String fn = Application.GetOpenFilename( _ "エクセルファイル(*.xls?),*.xls?" & ",CSVファイル(*.csv),*.csv") If fn <> "False" Then MsgBox fn End If End Sub

EXCEL VBAメモ - ファイル(ワークブック)のオープン&クローズ

Sub wbOpenClose() Dim wb As Workbook Workbooks.Add ' 新規ワークブック作成 Set wb = ActiveWorkbook wb.SaveAs ("test.xlsx") ' 名前を付けて保存 wb.Close ' 閉じる MsgBox "Close" Workbooks.Open "test.xlsx" ' 名前を指定して開く Set wb = ActiveWo…

EXCEL VBAメモ - パスの取得

Sub msgCurPath() MsgBox ActiveWorkbook.path ' 本ブックのあるパス MsgBox CurDir ' カレントパス(本ブックのあるパスではない) End Sub

EXCEL VBAメモ - オブジェクトの情報

Dim str As String, rng As Range, obj As Object, var As Variant MsgBox TypeName(str) 'String MsgBox TypeName(rng) 'Nothing MsgBox TypeName(obj) 'Nothing MsgBox TypeName(var) 'Empty Set rng = Range("A1") Set obj = CreateObject("Excel.Applica…

EXCEL VBAメモ - MsgBoxの第2引数

vbOKOnly 0 [OK] vbOKCancel 1 [OK] [キャンセル] vbAbortRetryIgnore 2 [中止] [再試行] [無視] vbYesNoCancel 3 [はい] [いいえ] [キャンセル] vbYesNo 4 [はい] [いいえ] vbRetryCancel 5 [再試行] [キャンセル] vbCritical 16 警告メッセージ アイコン v…

EXCEL VBAメモ - シート上の選択範囲の移動とサイズ変更

Range("A1:C3").Select ' 選択範囲を広さを保持したまま縦 + 1, 横 + 1へ移動 Selection.Offset(1, 1).Select MsgBox Selection.Address ' B2:D4 ' 選択範囲の広さを縦 - 1, 横 - 1に変更 Selection.Resize(Selection.Rows.Count - 1, Selection.Columns.Cou…

EXCEL VBAメモ - ブック、シート、セルの選択

Workbooks("test2.xlsm").Activate ' 開かれているブックから一つを指定 ActiveWorkbook.Sheets("Sheet2").Select ' 指定されたブックから一つのシートを指定 ActiveSheet.Range("A1").Select ' 指定されたシートから一つ(または複数)のセルを選択 MsgBox …

EXCEL VBAメモ - セル操作&情報取得

セルの選択 Range("A1").Select Cells(2, 1).Select ' -> "A2" Cells(3, "A").Select '-> "A3" セル範囲の選択 Range("A1:C3").Select Range( Cells(1,1), Cells(3,3) ).Select ' -> A1:C3 セルの行、桁の取得 MsgBox Range("A3").Address '-> $A$3 MsgBox R…

EXCEL VBAメモ - データのある最終行の検索

下から検索 Rows.Countは最大行。最大行からのCtrl+↑と同じ。 Cells(Rows.Count, 1).End(xlUp).Select 上から検索 空白行の一つ上の行が選択される。 Cells(1, 1).End(xlDown).Selectただし、開始位置が空白行、または、空白行の一つ上の場合は次にデータが…

EXCEL VBAメモ - 論理演算子評価

論理演算は常に演算子の両側を評価する。(最適化しない) Sub foo() If t1() Or t2() Then MsgBox "1" Else MsgBox "2" End If If f1() And f2() Then MsgBox "3" Else MsgBox "4" End If End Sub Function t1() As Boolean MsgBox "exec t1()" t1 = True E…

EXCEL VBAメモ - 変数

変数宣言の強制 変数名のタイプミスが見つかり易くなる。 Option Explicitまたは、「ツール」→「オプション」→「変数の宣言を強制する」 変数の宣言は1つずつ 以下の変数aは、Integerにならない。 Dim a, b As Integer MsgBox TypeName(a) '-> Empty MsgBox …

Go言語 - 平行処理

平行処理を行うゴルーチンの確認。フィボナッチ数列の10万項までの計算を2回行う処理にかかる時間を計ってみる。 ゴルーチン側で処理が終了したタイミングでチャンネル送信して、メイン側を受信したのち終了させる。結果はゴルーチンを使用した方が半分強く…

EXCEL VBA - CSVファイルをSQLで検索

CSVファイルの内容をSQL文で検索する方法を知ったのでメモ。(確認環境 Windows10 64bit, Excel2013) data.csv No,名前,色,値 1,イチゴ,赤,50 2,リンゴ,赤,100 3,メロン,緑,300 4,ブドウ,紫,200 5,オレンジ,オレンジ,150 色が赤いものを抽出 Sub foo() myDIR …

python - パッケージのimport

二つのファイルtest.pyとimport_test.pyを同じフォルダに置き、test.pyがimport_test.pyをimportして使用する。 一般的な使用 パッケージの関数やクラスは、import.hogeと書いて使用する。 test.py #coding: cp932 import import_test print(import_test.add…

Windows10 - スタートアップへの登録

以下の場所にショートカットを置く。 C:\Users\ユーザー名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Windows10 - タスクトレイに表示するアイコンの選択方法

スタートメニュー → 設定 → システム → 通知と操作 → タスクバーに表示するアイコンを選択してください。 → アプリ毎にON/OFF

python - 高階関数

filter - 要素を関数で評価した結果がTrueとなるものを返す #coding: cp932 # Falseで無い要素を返す v = filter(None, ["", 0, 1, None]) print(v) # -> <filter object at 0x0000000D8E26A470> print(list(v)) # -> [1] # 偶数ならTrue def is_even(x): if x % 2: return False else: return Tru</filter>…

python - 関数デコレータ

デコレート対象関数の実行前後に処理を追加する。 使用方法は、対象関数の定義の上の@デコレータ名を追加する。 @deco def myfunc(x):とすることで、myfuncをdecoの引数にするイメージ? def deko(myfunc) def wrapper(x): do_something return wrapper 使用…

python - 関数の可変長引数

#coding: cp932 def foo(*args, **kwargs): print("args:") for i in args: print(i) print() print("kwargs:") for i in kwargs.items(): print(i) foo("1", *["2", "3"], foo="A", **{"bar":"B", "baz":"C"}) # -> args: # 1 # 2 # 3 # # kwargs: # ('bar'…