VB-TIPS
たとえば、ワードで『AAA{BBB』のあと全角の『)』を入力しても勝手に『}』になってしまいます。 半角の『)』を入力しても同じです。 これは、ワードのオートコレクトの入力オートフォーマットという機能が働いているのです。 この機能をオフにすれ…
WEB巡回していると、yaplog(ヤプログ)系のブログのアクセスがめちゃくちゃ重くて遅いですね!! これ、yaplogのサーバーが遅いのかと思っていたら、JavaSctiptが原因とのことです。 なので、JavaSctiptオフにすると速くなります。 しかし、単純にJavaSctip…
VBでプログラムを作っているとシステムから割り込みが発生し異常終了するケースが多々あります。 そのとき、エラー番号が表示されるのですが、意味がわかりません。 で、ネットで『VBエラー一覧』で検索しても良いページがヒットしませんでしたが…たまたま見…
VS2005のVB2005で、新規プロジェクトを作成するときに、テンプレートを指定しますが、それをWINDOWSアプリケーション指定にすると、どうあがいてもデータを標準出力することができません。 まぁ、もしかしたら出来るのかもしれませんが…普通には出来ないはず…
WindowsXPのファイヤーウォールは、外側からの壁にはなるけど、内側からの壁にはならないのですね! すみません。Windows7が発売される今ごろ知りました。 つまり、自分のファイヤーウォールでいくら共用フォルダをNGにしても、相手の共用ファルダがOKな…
ワード(Word2003)での見出し番号は、普通、自動採番されます。 文章の中で、見出しではなく、参照として、見出し番号を記述するケースが、たまにあったりします。 しかし、途中で新たな見出しが追加すると、自動採番なので、それ以降の番号がずれてしまい…
VB2005でコマンドラインから引数を受け取る場合、VB6と同じようにCommand()も使えますが、以下のようにCommandLineArgsも使えます。 Dim objArgs As Object Dim int_i As Integer objArgs = My.Application.CommandLineArgs For int_i = 0 To objArgs.Count …
VB2005の開発環境はVS2005(Visual Studio 2005)です。 VS2005でデバックしている時に、なにかのエラーメッセージが表示され、エラー箇所をソースの行番号で教えてくれる場合があります。 しかし、VS2005デフォルトの設定では、ソース行番号は出ていません…
VB2005では、標準でリッチテキストBoxコントロールが用意されています。 リッチテキストは、テキストにフォントや文字の大きさや色など付加したもので、ワードパッドの標準フォーマットです。普通のワードのDOCファイルのようにバイナリでなく、テキストにな…
プロセス名を指定して、同名プロセスをすべてKILLするサブルーチンを作ってみました。 ◆サンプル System.Diagnostics.Process.Start("notepad.exe") KillProcess("notepad"); Sub KillProcess(ByVal ProcessName As String) Dim p As Process Dim myProcess(…
VB2005でのPathFileExistsで、はまったのでメモしときます。 PathFileExistsは、引数にファイルパスを指定して、そのファイルが存在する場合、真(0以外)が返され、存在しない場合、偽(0)が返されます。 そのファイルパス中にカタカナが含まれると、なぜかフ…
VB2005で実行ファイルを起動するには、以下のような感じになります。 ◆サンプル Dim strCmd As String = "実行ファイル名" Dim strArg As String = "実行ファイルの引数文字列" Dim strWkdir As String = "ワーキングディレクトリ名" Dim p As New Process P…
以下のサンプルは、"All Users"のスタートアップにアプリケーションAP.exeのショートカットを作成します。 AP.exeは、引数とワークのフォルダにあるファイルを使います。 Dim objShell As Object = CreateObject("WScript.Shell") Dim objShortcut As Object…
VB2005で、はじめてだと、現日時すら求めるのに苦労する…。なのでメモです。 Dim dtmNow As DateTime = System.DateTime.Now
VB2005で、はじめてだと、ホスト名すら求めるのに苦労する…。なのでメモです。 Dim strHostName As String = System.Net.Dns.GetHostName
VB2005でWindowsアプリケーションを作成した場合、そのアプリケーションを起動するとタスクバーにもアイコンが入ります。 いかにも起動しているって感じで、うざいと思うこともありますね。 そんな時は、以下の一行をフォーム(Form)のロジックに追加すると…
VB2005でフォームをデスクトップの任意の位置に表示させるには、以下の4つの要素が必要です。 デスクトップの高さ(System.Windows.Forms.Screen.GetWorkingArea(Me).Height) デスクトップの幅(System.Windows.Forms.Screen.GetWorkingArea(Me).Width) フォ…
VB2005では、カスタム動作と云って、インストール時にいろいろな処理を追加することが出来ます。 普通にWINDOWSアプリケーション等を作成した後、通常はインストーラも作らないとなりません。 また、インストーラ作成後、インストールするだけでなく、任意の…
VBA(.NETでもあるけど)では、文字を変換する際、普通ストラコンブ(StrConv)を使います。 StrConvは、『大文字/小文字変換』や『半角/全角変換』や『ひらがな/カタカナ変換』等を行います。 ◆構文 StrConv(変換する文字列, 変換指定定数) リターン値は、…
ExcelVBAで行コピーをしたい場合は、Rangeプロパティでコピーしたい行を指定してCopyメソッドし、インサートしたい行の範囲をRangeプロパティで指定してInsertメソッドします。 尚、CopyメソッドとInsertメソッドのRangeプロパティで指定した行数が異なると…
ワードで図形をコピーするには、普通に図形を選択して、Ctrl-cして、Ctrl-vすれば・・・出来ます。 しかし実は、もっと簡単に素早くコピーすることが出来るのです。 それは、Ctrlキーを押しながら図形をドローするだけコピーができるのです! で、実はここから…
ワードでフローチャート等を書いていると線や図形が微妙にずれて、合わそうすると余計づれたりして・・・イライラする場合がありますね!(ーー;) そんな時は、Altキーを押しながらマウスで線や図形をドローするとピッタと合わせることが出来ますよ!(^o^) また、C…
Excelの列はA,B,C,・・・,AA,AB,・・・IVと言う風になっています。 また、RangeプロパティではRange("A2")という感じに『アルファベット指定列と行』でセルを指定します。 一方、cellsプロパティではCells(2, 1)という感じに『行と番号指定列』でセルを指定します…
ExcelVBAのシートオブジェクトには、任意のセルに格納されている値(検索文字列)を検索できるFindメソッドがあります。 以下のサンプルのようにRangeプロパティで検索するセルの範囲を指定して、Findメソッドで『検索文字列を指定』し検索して、マッチすれ…
UBoundは、配列の最大インデックスを返す関数です。 なので、For文のリミット値によく使用します。 しかし、要素がない・・・つまり空の配列を渡すとエラー割り込みが発生するのです。 この場合のエラー割り込みは、エラーとしたくない時もありますね。 そんな時…
Excelのメニューの「データ」から「入力規則」を選択し、「データの入力」の設定タブの「入力値の種類」でリストを設定する時。 右側に『空白を無視する』というチェックボックスがあります。 今回、このチェックボックスのチェック有り無しでどう違うのか、…
VBAのWorksheet_Changeサブルーチンは、セルが書き換えられた時に起動されます。 その時に、システムから書き換えられたRangeオブジェクトが渡されます。 このRangeオブジェクトは、実は、一つのセルだけでなく、複数のセルの場合もあるのです。 また、空の…
以下は、アクティブシート上のセルを書き換えるタイミング(Worksheet_Change)で、 任意のシートにアクティブシートを切り替えて、そのシートでの処理を行い、 もとのシートをアクティブシートに戻します。 ・サンプル Private Sub Worksheet_Change(ByVal …
VBAでセル毎の入力チェックをする時は、普通、Worksheet_Changeサブルーチンにて行います。 Worksheet_Changeサブルーチンには、VB本体からTargetオブジェクトが渡されます。 Targetオブジェクトは、変更後のデータになっています。 変更後のデータをチェッ…
一見簡単そうに見える日付け処理にも、実は結構やっかいな処理が隠れています。 以下は、日付け処理をする時の留意点 うるう年と月の末日の処理http://d.hatena.ne.jp/chaichanPaPa/20080115/1200404624 SQLのWHEREの条件で、日付けは文字列型でないので、い…