2007-10-01から1ヶ月間の記事一覧

CellsとRangeと簡単な記法

セル「A1」にデータを書き込みたい時、以下の3つの指定方法がある*1。 Cells(1, 1) Range("A1") [A1] まぁ、3つ目は今日知ったばかりだが。 スピードについては Cells > Ranges > [address] となっているらしい。 参考 http://officetanaka.net/excel/vba/s…

ファイル処理 (1) : open と close

#!/usr/bin/env python try: fh = open( "test.txt" ); for dat in fh.readlines(): print dat; fh.close(); except IOError, e: print "IO Error : " + str( e );

引数を繰り返し処理

以下は引数を繰り返し echo で表示するパターン @echo off :start if %1 == "" goto end if exist %1 echo %1 shift goto start :end Excelファイルの処理に使ったのだが、何故かfor文では上手く処理できなかった。 @echo off for %%a in ( %* ) do echo %%a…

ファイルの切り替わり時の処理をしたい場合

awk

# 2つ目のファイルに切り替わった際に行いたい処理 ARGIND == 2 { # 処理 } ただし、自分で試した範囲では gawk*1 では ARGIND の動作を確認できたが、 mawk*2 では動作していない模様。 ちなみに ARGIND を使えば前日のこれ複数のファイルを読み込み、尚且…

CheckBoxを1対1で排他処理する

ちょっと作ってみたので書いてみる Private m_conflict As Boolean ' 排他処理状態を示すフラグ '--------------------------------------- ' チェックボックスの排他処理 '--------------------------------------- Private Sub CheckBoxExeclusion(One As …

sub : 文字列の置換

awk

sub は文字列で最初に一致した文字の置換をします。 sub( regexp, replacement, target ) regexp 置換前の文字列。検索対象。正規表現で指定可能。 replacement 置換後の文字列。 target 置き換えの対象となる文字列。 str = "abcdefghijklmn" sub( "def", "…

複数のファイルを読み込み、尚且つそれぞれのファイルで別々の処理を行う方法

awk

2つ以上のファイルをまとめて読み込んで、それぞれのファイルごとに別々の処理をしたい場合 読み込むファイル名が固定であれば以下の様な記述で良い。 FILENAME == "ファイル名" { # 処理 } ファイル名は不確定だが「ファイルを読み込ませる順番(引数の順番…

対象範囲の終端を参照

対象範囲の一番下の行を選択。 Cells(65536, 1).End(xlUp).Select 今居るセル(例えば "B35" とする)から対象範囲の一番右までを選択。 Range(Range("B35"), Range("B35").End(xlToRight)).Select 対象範囲の一番下の行番号を取得。 Dim lin As Long lin = Ce…

ウィンドウを非表示にする。

Windows(数値).Visible = False Windows(ウィンドウ名).Visible = False ブック「sample.xls」ウィンドウを非表示にする。 Windows("sample.xls").Visible = False アクティブウィンドウを非表示にする。 Windows(1).Visible = False アプリケーションのウィ…

Midステートメント

Midステートメントでは文字列の置き換えが出来る。 以下では "いう" を "イウ" に置き換えている。 Dim str As String str = "イウ" Mid("あいうえお", 2, 2) = str

文字列の切り出し

以下の6つの関数がある。 Left LeftB Mid MidB Right RightB このうち、「Left」「Mid」「Right」は文字数単位で 「LeftB」「MidB」「RightB」はバイト数単位で処理を行う。 Left 左端から文字の切り出しを行う。 Left(文字列, 切り出し文字数) LeftB(文字列…

Excel関数を実行

Application.WorksheetFunction.(Excel関数) 数値の切捨てをする場合は Dim num As Integer num = Application.WorksheetFunction.RoundDown( 123, 7 )

起動時にマクロを実行する。

Private Sub Workbook_Open() Call MyMacro End Sub