since 1996
正誤表
Visual Basic .NET プログラミングエッセンス〜.NETがやってくる〜
p.0171 (.vb)コメント「SecondGenerarionクラスのSecondFunction関数を呼び出す」を「SecondGenerationクラスのSomeFunction関数を呼び出す」に訂正
Visual Basic Tips 1000+ 〜Win32 APIを使いこなそう!〜
0049 gFatalAppExit.lzh
(.bas)コメント「ウィンドウにメッセージを送る関数の宣言」を「アプリケーションを終了させる関数の宣言」に修正
0087 gGetVolumeInformationFileSystemName.lzh
(.frm)コメント「ファイルファイル名を表示」を「ファイルシステム名を表示」に修正
0089 gGetVolumeInformationVolumeName.lzh
(.frm)コメント「ファイルシステムの情報」を「ボリュームに関する情報」に修正
0159 gGetPrinterAttributesDefault.lzh
(誌面)プラットフォーム対応表「NT」「2000」にある○を削除
0162 gGetPrinterAttributesEnableBidi.lzh
(誌面)プラットフォーム対応表「NT」「2000」にある○を削除
0185 gSetForm.lzh
(.frm)ラベルのキャプションを「取得」から「設定」に修正
0207 gSetPrinterTransmissionRetryTimeout.lzh
(.frm)コメント「送信再試行時タイムアウトを表示」を「送信再試行時タイムアウトを指定」に修正
0226 gRegEnumKeyExLastUpdate.lzh
(誌面)プラットフォーム対応表「95」「98」「Me」にある○を削除
0241 gGetPrivateProfileStringEnumKey.lzh
(.frm)コメント「セクション名」を「キー名」に修正
0243 gGetPrivateProfileStruct.lzh
(.bas)不要な宣言を削除
0252 gWritePrivateProfileStruct.lzh
(.bas)不要な宣言を削除
0309 gSetWindowLongCbemBegineditCbemEndedit.lzh
(.bas)不要なコメントを削除
0313 gSendMessageLbAddfile.lzh
(.frm)変数lngFileNoの型を「String」から「Long」に修正
0565 gGetComputerName.lzh
(.frm)ラベルのキャプションを修正
0671 gSystemParametersInfoSpiSetDragHeight.lzh
(.frm)コメント「キャレットの幅を取得」を「ドラッグの開始とはみなされない範囲を取得」に修正
0672 gSystemParametersInfoSpiSetDragWidth.lzh
(.frm)コメント「キャレットの幅を取得」を「ドラッグの開始とはみなされない範囲を取得」に修正
Visual Basic 6.0 300の技 API+COM編
本書を読む前に

(誤) ■Win32 API宣言について 本書で使用しているAPI関数の宣言などは、ひとつのファイルにまとめてあります。

(正) ■Win32 API宣言について 本書で使用しているAPI関数の宣言などは、ひとつのファイル(本書付録のCD-ROM \declare\VB300ACW.bas)にまとめてあります。

p.454 付録

(誤) Win32 APIを利用するためには、C言語で記述された宣言を、Visual Basic向けに宣言し直さなければなりません。その際には、いくつかの規則に従う必要があります。

(正) Win32 APIを利用するためには、C言語で記述された宣言を、Visual Basic向けに宣言し直さなければなりません。その際には、いくつかの規則に従う必要があります。本書で使用しているAPI関数の宣言などは、本書付録のCD-ROM \declare\VB300ACW.basにまとめてありますので、参考にしてください。

p.211 134{中}ファイル作成日時を設定する

 コードが最後まで掲載されていません。
 不足している部分は、本書付録のCD-ROMを参照してください。
p.247

162{中}フォルダ選択ダイアログの初期フォルダを設定する

(誤)
    ' 選択するフォルダを指定
    strSelectFolder = _
        StrConv(strFolderName, _
                vbFromUnicode)
(正)
    ' 選択するフォルダを指定
    strSelectFolder = strFolderName

p.248

162{中}フォルダ選択ダイアログの初期フォルダを設定する

(誤)
    ' 選択状態にするフォルダを示すアドレスを指定
    .lParam = StrPtr(strSelectFolder)
(正)
    ' 選択状態にするフォルダを示すアドレスを指定
    .lParam = StrPtr(StrConv(strSelectFolder, _
                             vbFromUnicode))
p.159 101{初}利用可能なメモリ情報を取得する

 Windows2000以前のOSでは、メモリ使用率の値と物理メモリの割合(残/総)が一致しないことがあります。
p.390 249{初}実行可能ファイルを起動して終了まで待機する(その1)

(誤)' 新しいプロセスがグナル状態になるまで待機
(正)' 新しいプロセスがシグナル状態になるまで待機
Visual Basic 6.0 300の技 ネットワーク+データベース編
目次 (誤) 024{初}指定したURLのドキュメントをExcuteメソッドで開く
(正) 024{初}指定したURLのドキュメントをExecuteメソッドで開く
p.35 技名

(誤) 指定したURLのドキュメントをExcuteメソッドで開く
(正) 指定したURLのドキュメントをExecuteメソッドで開く
p.35 リード

(誤) Excuteメソッド
(正) Executeメソッド
p.36 手順2

(誤) ...Excuteメソッドを実行
(正) ...Executeメソッドを実行
p.37 リード

(誤) Excuteメソッド
(正) Executeメソッド
p.37 手順2

(誤) ...Excuteメソッドを実行
(正) ...Executeメソッドを実行
p.38 リード

(誤) Excuteメソッド
(正) Executeメソッド
p.39 手順2

(誤) ...Excuteメソッドを実行
(正) ...Executeメソッドを実行
p.40 リード

(誤) Excuteメソッド
(正) Executeメソッド
p.40 手順2

(誤) ...Excuteメソッドを実行
(正) ...Executeメソッドを実行
p.42 リード

(誤) Excuteメソッド
(正) Executeメソッド
p.43 リード

(誤) Excuteメソッド
(正) Executeメソッド
p.44 リード

(誤) Excuteメソッド
(正) Executeメソッド
目次 (誤) Net API:ジョブ制御の技
   098{中} ワークステーションに関する情報を取得する

(正) Net API:その他の技
   098{中} ワークステーションに関する情報を取得する
p.165 技の分類

(誤) Net API:ジョブ制御の技
(正) Net API:その他の技
p.365 265{中}テーブルのデータをExcelのシートに出力する(ADO)

 この技をExcel 97がインストールされている環境で実行したときに、実行時エラー430「クラスはオートメーションをサポートしていません」が発生します。これは、Excel 97のCopyFromRecordsetメソッドがDAOにしか対応していないためで、このエラーを回避するためには、Excel 2000を利用するか、DAOでコーディングし直す必要があります。詳細については、以下に示すMicrosoft Knowledge Baseの記事を参照してください。

 HOWTO: Transfer Data from an ADO Recordset to Excel with Automation
 ID: Q246335
p.230 161{初}Excelのファイルからデータを読み込む

 この技を実行したときに、実行時エラー3011「オブジェクト'Employees'が見つかりませんでした」が発生します。これは、CD-ROMに収録しているサンプルプロジェクト \db\CreateSample.vbp のコードに誤りがあることが原因です。

(誤) " Into [OpenExcel.xls] " & _
(正) " Into [Employees] " & _
p.230 p.161{初}Excelのファイルからデータを読み込む

 Excelのシート名を手動で変更し、この技を実行したときに、実行時エラー3011「オブジェクト'(シート名)'が見つかりませんでした」が発生します。

 次のコードのように、シート名の末尾に$を付けてください。
 Set mRs = mDb.OpenRecordset("Sheet1$", dbOpenTable)
p.284 手順3

 実行結果として不適切な図版が載っています。パスワードの設定が正しければ、結果として何も表示されません。
p.363 263{初}テーブルのデータを固定長テキストファイルに出力する

 CD-ROMに収録しているschema.iniの内容に誤りがあります。
 紙面の手順2に示す内容に従ってschema.iniを修正いただくか、修正版のschema.iniをダウンロードしてください。
CD-ROMに収録している以下のプロジェクトは、プロジェクトとフォームモジュールの関連付けに誤りがあります。

          (誤)     (正)
ndw092.vbp ndw099.frm ndw092.frm
ndw093.vbp ndw100.frm ndw093.frm
ndw094.vbp ndw092.frm ndw094.frm
ndw095.vbp ndw093.frm ndw095.frm
ndw096.vbp ndw094.frm ndw096.frm
ndw097.vbp ndw095.frm ndw097.frm
ndw100.vbp ndw098.frm ndw100.frm

Visual Basic 6.0 300の技
p.91 1行目

(誤) ...CurDrive()関数を利用します。
(正) ...CurDir関数を利用します。
p.126 SerchStringプロシージャ中のコメント

(誤) ' 検索文字列が見つかったら戻り値をFalseに設定する
(正) ' 検索文字列が見つかったら戻り値をTrueに設定する
p.183 下から1行目

(誤)詳しくは、StrConc関数に...
(正)詳しくは、StrConv関数に...
p.187 「参考」1行目

(誤)Flagプロパティに...
(正)Flagsプロパティに...
p.190 「参考」1行目

(誤)...Flagプロパティに...
(正)...Flagsプロパティに...
p.228 3行目右側

(誤) ★ 8進数は、数値の前に「&O」を付けて表します。
(正) ★ 16進数は、数値の前に「&H」を付けて表します。
p.237 2行目
(誤) (Ins、Del、BackSpaceなど...
(正) (Ins、Del、BackSpace)など...
p.223 5章の扉

(誤) レジストリの技 221〜224
(正) レジストリの技 225〜228
p.241 技の分類

(誤) キー入力の技
(正) メッセージボックスの技
p.252 技の分類

(誤) マウスイベントの技
(正) メッセージボックスの技
p.291
(誤)  ウィンドウの技001〜007
自アプリケーション制御の技  008〜014
他アプリケーション制御の技015〜031
システム情報の技032〜036
印刷の技037
アプリケーション終了時の技097〜300
 
(正)  ウィンドウの技243〜254
自アプリケーション制御の技  255〜270
他アプリケーション制御の技271〜277
システム情報の技278〜281
印刷の技282〜297
アプリケーション終了時の技298〜300
Visual C# .NET 基礎 300の技〜.NETプログラミングTIPSシリーズ〜
p.94 (.cs) 上から5行目「Regex("V*l")」を「Regex("V.*l")」に訂正
p.131 (.cs) 上から15行目「作成するファイル名」を「ファイルを作成する」に訂正
p.143 (.cs) 上から7行目「引数strRecBuff」を「引数recBuff」に訂正
p.19 (.cs) [参考]中のコード「a.GetName.Name」を「a.GetName().Name」に訂正
p.19 (.cs) [参考]中のコード「b.FromStream(s)」を「new Bitmap(Image.FromStream(s))」に訂正
Visual Basic .NET 300の技 ネットワーク+データベース
p.315 178{中}データベースの画像を表示する - 手順3

(誤)xoffset = oh.HeaderSize + 1
(正)offset = oh.HeaderSize + 1
p.17 Webアプリケーションの説明とWindowsアプリケーションの説明が逆
(誤)
 ・001-050(Webアプリケーション)
 ▼マイコンピュータやWindowsエクスプローラを用いて、CD-ROMの内容をIISのWebサイト(規定ではC:\Inetpub\wwwroot)にコピー
 ・051-100、101-150、151-200、201-250、251-300(Windowsアプリケーション)
 ▼マイコンピュータやWindowsエクスプローラを用いて、CD-ROMの内容をハードディスクの任意のフォルダにコピー

(正)
 ・001-050(Webアプリケーション)
 ▼マイコンピュータやWindowsエクスプローラを用いて、CD-ROMの内容をIISのWebサイト(規定ではC:\Inetpub\wwwroot)にコピー
 ・051-100、101-150、151-200、201-250、251-300(Windowsアプリケーション)
 ▼マイコンピュータやWindowsエクスプローラを用いて、CD-ROMの内容をハードディスクの任意のフォルダにコピー
Visual Basic 6.0によるデータベースプログラミング
p.146 Form_Activateイベント 実行可能ファイルで動作している場合、検索フォームから戻る際に実行時エラーが発生することがあります。 この現象を回避するためには、Form_LoadイベントとForm_Activateイベントに次のようなプログラムコードを記述する必要があります。
Private Sub Form_Load()
     ' Activateイベントで処理を行うためのフラグを設定
     Me.Tag = "Loading"
End Sub
 
Private Sub Form_Activate()
    ' 初回起動時のみ、Activateイベントで処理を行う
    If Me.Tag = "Loading" Then
        With Data1.Recordset
            .MoveLast
            lTotalRecords = .RecordCount
            .MoveFirst
        End With
        updateButtons True
        ' フラグをクリア
        Me.Tag = ""
    End If
End Sub
p.169 1行目
(誤)DoEvents関数は実際には現在ロードされているフォームの数を示す整数値を返します。
(正)DoEvents関数は現在開かれているフォームの数を示す整数値を返します。
p.257 SrchReplace()関数

この関数では、文字列内にシングルクォーテーションが複数含まれている場合は、正常な変換処理が行われません。

次のように、1文字づつ確認する方法や、Replace()関数を利用する必要があります。
' 1文字ずつ確認する例
Function SrchReplace(ByVal sStringToFix As String) As String
     Dim iPosition As Integer        '問題のある文字の位置
     Dim sCharToReplace As String    '探す文字
     Dim sReplaceWith As String      '置き換える文字
     Dim sTempChar As String         '検査する文字
     Dim sTempString As String       '加工後の文字列
 
     sCharToReplace = "'"
     sReplaceWith = "''"
 
     For iPosition = 1 To Len(sStringToFix)
         sTempChar = Mid(sStringToFix, iPosition, 1)
         If sTempChar = sCharToReplace Then
             sTempString = sTempString & sReplaceWith
         Else
             sTempString = sTempString & sTempChar
         End If
     Next iPosition
     
     SrchReplace = sTempString
End Function
 
' Replace()関数を利用する例
Function SrchReplace(ByVal sStringToFix As String) As String
     SrchReplace = Replace(sStringToFix, "'", "''")
End Function
 
p.349 フィールドのデータ型/サイズ

(誤)Phone Text 15
(正)Phone Text 16

(誤)Fax Text 15
(正)Fax Text 16

(誤)CellPhone Text 15
(正)CellPhone Text 16
Visual BasicプログラマのためのWin32 APIレスキューハンドブック
p.39 下から1行目「プラットフォームは32bi Windowsファミリーです。」を「プラットフォームは32bit Windowsファミリーです。」に訂正
Visual Basicユーザーに贈るWin32 APIの使い方「実践編」
p.205 上から14行目「「0x2d000000」となります。同じように、第2引数... 」を「「0x2d0000」となります。同じように、第2引数... 」に訂正
Visual Basic .NET 基礎 300の技〜.NETプログラミングTIPSシリーズ〜
p.13 (.vb) 下から3行目「mcf.MdiParent = Form1」を「mcf.MdiParent = Me」に訂正
p.58 (.vb) 上から7行目「Microsoft.VisualBasic.Right(strPath.Length, 1)」を「Microsoft.VisualBasic.Right(strPath, 1)」に訂正
p.93 (.vb) 上から6行目「System.Text.RegularExpressions.Regex("V*l")」を「System.Text.RegularExpressions.Regex("V.*l")」に訂正
p.101 (exp) 上から1行目「Dateプロパティで現在の日付を取得」を「Todayプロパティで現在の日付を取得」に訂正
p.128 (.vb) 下から5行目「作成するファイル名」を「ファイルを作成する」に訂正
p.144 (.vb) 上から8行目「引数strRecBuff」を「引数recBuff」に訂正
p.144 (.vb) 下から4行目に該当するForm1.vb(付録CD-ROM)のコメント「戻り値をFalseに設定する」を「戻り値をTrueに設定する」に訂正
p.374 (.vb) 上から10行目「Excel.xllication」を「Excel.application」に、下から5行目「book.xllication」を「book.application」に訂正
Disclaimer
 このサイトの著作権ならびに編集著作権は有限会社ガリバー(以下、当社)が有します。なお、このサイトに掲載されている情報の使用に関して直接的または間接的に生じるいっさいの損害について当社はいかなる責任も負わないものとします。ご承知の上ご利用ください。