小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

VB-TIPS

ワードでカッコを入力すると勝手に変更させられる時には…

たとえば、ワードで『AAA{BBB』のあと全角の『)』を入力しても勝手に『}』になってしまいます。 半角の『)』を入力しても同じです。 これは、ワードのオートコレクトの入力オートフォーマットという機能が働いているのです。 この機能をオフにすれ…

yaplog(ヤプログ)を速く見るには?

WEB巡回していると、yaplog(ヤプログ)系のブログのアクセスがめちゃくちゃ重くて遅いですね!! これ、yaplogのサーバーが遅いのかと思っていたら、JavaSctiptが原因とのことです。 なので、JavaSctiptオフにすると速くなります。 しかし、単純にJavaSctip…

VBでの割り込みエラー一覧(Win32エラーコード一覧)

VBでプログラムを作っているとシステムから割り込みが発生し異常終了するケースが多々あります。 そのとき、エラー番号が表示されるのですが、意味がわかりません。 で、ネットで『VBエラー一覧』で検索しても良いページがヒットしませんでしたが…たまたま見…

VB2005で標準出力するには?

VS2005のVB2005で、新規プロジェクトを作成するときに、テンプレートを指定しますが、それをWINDOWSアプリケーション指定にすると、どうあがいてもデータを標準出力することができません。 まぁ、もしかしたら出来るのかもしれませんが…普通には出来ないはず…

WindowsXPのファイヤーウォール

WindowsXPのファイヤーウォールは、外側からの壁にはなるけど、内側からの壁にはならないのですね! すみません。Windows7が発売される今ごろ知りました。 つまり、自分のファイヤーウォールでいくら共用フォルダをNGにしても、相手の共用ファルダがOKな…

ワードでの相互参照について

ワード(Word2003)での見出し番号は、普通、自動採番されます。 文章の中で、見出しではなく、参照として、見出し番号を記述するケースが、たまにあったりします。 しかし、途中で新たな見出しが追加すると、自動採番なので、それ以降の番号がずれてしまい…

VB2005でコマンドラインから引数を受け取る

VB2005でコマンドラインから引数を受け取る場合、VB6と同じようにCommand()も使えますが、以下のようにCommandLineArgsも使えます。 Dim objArgs As Object Dim int_i As Integer objArgs = My.Application.CommandLineArgs For int_i = 0 To objArgs.Count …

VS2005でソースの行番号を出すには?

VB2005の開発環境はVS2005(Visual Studio 2005)です。 VS2005でデバックしている時に、なにかのエラーメッセージが表示され、エラー箇所をソースの行番号で教えてくれる場合があります。 しかし、VS2005デフォルトの設定では、ソース行番号は出ていません…

リッチテキストBoxコントロールへリッチテキストを代入するには?

VB2005では、標準でリッチテキストBoxコントロールが用意されています。 リッチテキストは、テキストにフォントや文字の大きさや色など付加したもので、ワードパッドの標準フォーマットです。普通のワードのDOCファイルのようにバイナリでなく、テキストにな…

プロセスKILL for VB2005

プロセス名を指定して、同名プロセスをすべてKILLするサブルーチンを作ってみました。 ◆サンプル System.Diagnostics.Process.Start("notepad.exe") KillProcess("notepad"); Sub KillProcess(ByVal ProcessName As String) Dim p As Process Dim myProcess(…

PathFileExistsの罠

VB2005でのPathFileExistsで、はまったのでメモしときます。 PathFileExistsは、引数にファイルパスを指定して、そのファイルが存在する場合、真(0以外)が返され、存在しない場合、偽(0)が返されます。 そのファイルパス中にカタカナが含まれると、なぜかフ…

VB2005で実行ファイルを起動する

VB2005で実行ファイルを起動するには、以下のような感じになります。 ◆サンプル Dim strCmd As String = "実行ファイル名" Dim strArg As String = "実行ファイルの引数文字列" Dim strWkdir As String = "ワーキングディレクトリ名" Dim p As New Process P…

VB2005でショートカットを作成する

以下のサンプルは、"All Users"のスタートアップにアプリケーションAP.exeのショートカットを作成します。 AP.exeは、引数とワークのフォルダにあるファイルを使います。 Dim objShell As Object = CreateObject("WScript.Shell") Dim objShortcut As Object…

VB2005で現日時を取得する

VB2005で、はじめてだと、現日時すら求めるのに苦労する…。なのでメモです。 Dim dtmNow As DateTime = System.DateTime.Now

VB2005でホスト名を取得する

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アプリケーション等を作成した後、通常はインストーラも作らないとなりません。 また、インストーラ作成後、インストールするだけでなく、任意の…

文字を変換する(StrConv)

VBA(.NETでもあるけど)では、文字を変換する際、普通ストラコンブ(StrConv)を使います。 StrConvは、『大文字/小文字変換』や『半角/全角変換』や『ひらがな/カタカナ変換』等を行います。 ◆構文 StrConv(変換する文字列, 変換指定定数) リターン値は、…

ExcelVBAで行コピー

ExcelVBAで行コピーをしたい場合は、Rangeプロパティでコピーしたい行を指定してCopyメソッドし、インサートしたい行の範囲をRangeプロパティで指定してInsertメソッドします。 尚、CopyメソッドとInsertメソッドのRangeプロパティで指定した行数が異なると…

MicrosoftWordで図形を素早くコピーする!

ワードで図形をコピーするには、普通に図形を選択して、Ctrl-cして、Ctrl-vすれば・・・出来ます。 しかし実は、もっと簡単に素早くコピーすることが出来るのです。 それは、Ctrlキーを押しながら図形をドローするだけコピーができるのです! で、実はここから…

MicrosoftWordで線や図形をピッタ(微調整)と合わせる!

ワードでフローチャート等を書いていると線や図形が微妙にずれて、合わそうすると余計づれたりして・・・イライラする場合がありますね!(ーー;) そんな時は、Altキーを押しながらマウスで線や図形をドローするとピッタと合わせることが出来ますよ!(^o^) また、C…

列のアルファベット指定と番号指定の変換

Excelの列はA,B,C,・・・,AA,AB,・・・IVと言う風になっています。 また、RangeプロパティではRange("A2")という感じに『アルファベット指定列と行』でセルを指定します。 一方、cellsプロパティではCells(2, 1)という感じに『行と番号指定列』でセルを指定します…

ExcelVBAのFindメソッドの留意点

ExcelVBAのシートオブジェクトには、任意のセルに格納されている値(検索文字列)を検索できるFindメソッドがあります。 以下のサンプルのようにRangeプロパティで検索するセルの範囲を指定して、Findメソッドで『検索文字列を指定』し検索して、マッチすれ…

UBoundで要素がない配列を渡すには?

UBoundは、配列の最大インデックスを返す関数です。 なので、For文のリミット値によく使用します。 しかし、要素がない・・・つまり空の配列を渡すとエラー割り込みが発生するのです。 この場合のエラー割り込みは、エラーとしたくない時もありますね。 そんな時…

Excel入力規則の設定リストへデータを入力するには?

Excelのメニューの「データ」から「入力規則」を選択し、「データの入力」の設定タブの「入力値の種類」でリストを設定する時。 右側に『空白を無視する』というチェックボックスがあります。 今回、このチェックボックスのチェック有り無しでどう違うのか、…

ExcelVBAでWorksheet_Changeサブルーチンの作成留意点

VBAのWorksheet_Changeサブルーチンは、セルが書き換えられた時に起動されます。 その時に、システムから書き換えられたRangeオブジェクトが渡されます。 このRangeオブジェクトは、実は、一つのセルだけでなく、複数のセルの場合もあるのです。 また、空の…

EXCEL-VBAでアクティヴシートを制御する

以下は、アクティブシート上のセルを書き換えるタイミング(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の条件で、日付けは文字列型でないので、い…