【VBA】ワークシートを巡回する
ブックの全てのワークシートは Worksheets で呼ぶことができます。
この複数のワークシートに対して特定の操作をするために、
VBAの繰り返しステートメントの一つ For Each を用います。
For Each ws In Worksheets ' ワークシートの名前をデバッグプリント Debug.Print wsMain.Name Next ws
ただし、C++などにある次のループまで処理をスキップする Continue 文は存在しません。 そのため、処理のスキップには GoTo 文を使います。
For Each ws In Worksheets ' ワークシート main はスキップ If wsMain.Name = "main" Then GoTo Continue End If ' ワークシートの名前をデバッグプリント Debug.Print wsMain.Name Continue: ' GoTo でここまでスキップされる Next ws
参考
【Doxygen】Doxygen Tips
コードドキュメントツールの Doxygen がいい感じなので、
利用に際して気にすることを記します。
関数コールツリーの表示
関数コールツリーの表示は Topix "Dot" の "HAVE_DOT" にチェックを入れて、
"CALL_GRAPH", "CALLER_GRAPH" にチェックを入れることで可能となります。
ツール "dot" はグラフ可視化ツール Graphviz の一部なので、 Graphviz をインストールしておく必要があります。
ShiftJISのコメントを表示する
ShiftJISのコメントの表示は、Topix "Input" の
"INPUT_ENCODING" に "CP932" を設定することで可能となります。
(CP932 は Windows で使用されている MS による ShiftJIS 拡張です。)
参考
【Qt】テキストファイルの行数を取得する
行数の数え上げはQTextStream::readLine()を用います。
以下は実際に読んだ行数を返す例です。
int countLine(QString filePath) { int line_count=0; QFile file(filePath); file.open(QIODevice::ReadOnly); //| QIODevice::Text) QTextStream in(&file); while( !in.atEnd()) { in.readLine(); line_count++; } return line_count; }
参考
Qt - How to count number of line in .txt file - Stack Overflow
【Qt】【QList】リストの中身を取り出す
QListの中の値を取得するにはメソッドat()やオペレーター[]を利用します。
それとは別に、QListの中の値を得て、QListから取り除くきたい。
そんなときはメソッドtakeAt()を用います。
先頭または最後に対して同様の操作をする場合は、
takeFirst(), takeLast()を用います。
以下はリストが空になるまで先頭から順に取り出す例です。
#include <QtCore> void takeAtList() { QList<QString> list; list << "A" << "B" << "C" << "D" << "E" << "F"; while(list.size() > 0) { QString item = list.takeFirst(); qDebug("%s, %d: item=[%s]", __FILE__, __LINE__, qPrintable(item)); } // output "A", "B", "C", "D", "E", "F" }
neobundleを導入する
neobundleが便利で自宅環境にも導入にしようとしたのですが、
思いがけないところで躓いたのでメモ。
つまずいた箇所は、
という箇所。これがないとNeoBundleInstallが失敗します。
しかもエラーメッセージなしなので、結構痛かった。
参考
【Qt】【QMessageBox】メッセージボックスからボタンを消す
メッセージボックスからボタンを消すにはメソッドsetStandardButtonsに0を渡してあげます。
QMessageBox m;
m.setStandardButtons(0);
ただ、クラスを作っても良いならQDialogを基底にQLabelを配置したダイアログを作成するのもありかも。