VBで作成したプログラム用のHELPの作り方2009/09/16 14:50

VBで開発したプログラム用のHELPファイルを作成します。
'素材はWORDのDOC形式で作成します。
'次にフリーの「doc2htmlhelp.vbs」を使用して、元のHELPファイルを作成します。
'ただしこのHELPには、INDEXが付いていないので、VBから指定したHELPを表示させる
'ことができません。
'次に「ヘルプましん」を利用してINDEX付きのHELPを作成します。
'そのINDEXをVB内で指定してHELPを表示します。
01.WORDでHELP素材を作成する。
  DOC形式のファイルで、作成し、
  処理ごとの「タイトルを」「スタイル」の「見出し1」に設定する。
  必要なら、目次を作成する。
02.「doc2htmlhelp.vbs」を使用してHELPファイルを作成する
   cscript.exe doc2htmlhelp.vbs [完全パス付きのWORDファイル名] /DivDocLevel:2

詳しくは、「doc2htmlhelp.vbs」のHELPを見ること。
  DOCファイルがあるディレクトリに、DOC名のフォルダーが作成され、次に必要なファイルが
  作成されている。
03.「ヘルプましん」を使用して、HELPファイルを作成する。
  プロジェクトのフォルダー取り込みで、先ほど作成したフォルダーを指定します。
  あとは、「ヘルプましん」の説明に従って、HELPを作成します。
04.VB2005から、HELPの指定。
    'HELPプロバイダーの設定
   Public HP1 As New HelpProvider
    'HELPファイルの指定
'各フォーム内で指定します。
HP1.HelpNamespace = [完全パスのHELPファイル名]
HP1.SetShowHelp(Me, True)
HP1.SetHelpNavigator(Me, HelpNavigator.KeywordIndex)
HP1.SetHelpKeyword(Me, [HELPを作成した時のINDEX名])

ADODB SqlServer接続文字列の作成時の注意点2009/09/16 08:40

SQLServeを使用して
ADODB SqlServer接続文字列の作成時の注意点の覚書
sa で ログインする場合
'=============================
'Windows2000の(Server)場合、SQL2008、SQL2005の
Nativeクライアントをインストール出来るが、
実際にはODBCの設定が出来ないので
標準のSQLクライアントを使うしかない。

'-----------------------------------------------
Public xdb As New ADODB.Connection
dim LoginID as string
dim PWD_TXT as string 'パスワード文字列
dim XDB_NM as string 'データベース名
dim SV_NAME as string 'サーバー名
dim s as string
xdb.Mode = adModeReadWrite
xdb.CommandTimeout = 15000
'ログインIDの設定
LoginID = "TS00"
'SQLNCLI.1
'SQLOLEDB.1
'SQL2008 Nativeの場合の文字列
s = "Provider=SQLNCLI10.1;workstation id=" & LoginID & ";"
'SQL2005 Nativeの場合の文字列
s = "Provider=SQLNCLI1.1;workstation id=" & LoginID & ";"
'SQL2000 または,SQL2005,SQL2008でも使用可
s = "Provider=SQLOLEDB.1;workstation id=" & LoginID & ";"

If PWD_TXT <> "" Then
s = s & "Persist Security Info=false;User ID=sa;"
s = s & "Password=" & PWD_TXT & ";"
Else
s = s & "Persist Security Info=false;User ID=sa;"
End If
s = s & "data source=" & SV_NAME & ";"
s = s & "initial catalog=" & XDB_NM & ";"

xdb.ConnectionString = s

CrystalReportでバーコード画像を表示する方法VB62009/09/15 11:37

CrystalReportで画像を表示する方法のVB6版 覚書
'===========================================
'ローカルのアクセステーブルに印刷用のファイルを登録し
'CrystalReportで表示する
'このバーコードはフリーのMiBarcode.EXEのDDE機能を利用して
'印刷している
'=======================================
Option Explicit
'アクセスのOLEオブジェクト型のデータに登録する場合
'アクセスで表示する場合は、BITMAPをそのまま、Byte
'変数に変換して登録すればよいが、クリスタルレポートでは
'先頭にダミーバイトを挿入する必要がある。
'そのためのおまじない変数宣言
Dim CHUNK_B(98) As Byte
'BITMAPをByte変数に格納するための宣言
Dim CH_BG() As Byte

'==============================================
'データをローカルのアクセスDBに登録するルーチン
'==============================================
Private Sub OK_B_Click()
Dim i%, j%, FH%
Dim S, XDIR, strDummy As String
Dim xdb As New ADODB.Connection
Dim ds As New ADODB.Recordset
Dim TEMP As Object
XDIR = App.Path
'実行環境ディレクトリ以下のDATAディレクトリにデータベース
'を保存
S = ""
S = S & "Provider=Microsoft.Jet.OLEDB.4.0;"
S = S & "Data Source=" & App.Path & "\data\WORK.mdb;"
S = S & "Persist Security Info=False"
xdb.ConnectionString = S
xdb.Open

'クリスタルレポート上では、商品とPIMAGEの2つのテーブルを
'使用して表示させる。
'商品データの登録
S = "select * from 商品"
S = S & " where PNO=" & Xtext(SH_PNO.Text)
ds.Open S, xdb, adOpenDynamic, adLockPessimistic
On Error Resume Next
ds.MoveFirst
If Err.Number = 0 And Not ds.EOF Then
Else
ds.AddNew
End If
On Error GoTo 0
ds("PNO").Value = SH_PNO.Text
ds("名称").Value = SH_名称.Text
ds("品番").Value = SH_品番.Text
ds("型番").Value = SH_型番.Text
ds.Update
ds.Close
'----
'DDEをサポートしたバーコード表示ルーチンを使用して
'フォーム上に張り付けたPicture1にバーコードを表示させる
'ルーチン
Call OLE_DISP

SavePicture Picture1.Image, XDIR & "\QRBAR.BMP"
DoEvents
'
S = "select * from PIMAGE"
S = S & " where PNO=" & Xtext(SH_PNO.Text)
ds.Open S, xdb, adOpenDynamic, adLockPessimistic
On Error Resume Next
ds.MoveFirst
If Err.Number = 0 And Not ds.EOF Then
Else
ds.AddNew
End If
On Error GoTo 0
ds("PNO").Value = SH_PNO.Text
On Error GoTo 0
'ビットマップをバイナリでオープンして、Byte配列に読み込む
FH = FreeFile
Open XDIR & "\QRBAR.bmp" For Binary As #FH
ReDim CH_BG(LOF(FH))
Get #FH, , CH_BG
Close #FH
'画像データはOLEオブジェクト型で設定
'クリスタルレポート用に、ダミー配列を登録
ds("PIMAGE").AppendChunk (CHUNK_B)
'実際のBITMAPデータを登録
ds("PIMAGE").AppendChunk (CH_BG)

ds.Update
ds.Close
xdb.Close

End Sub
'=======================================================
'DDE機能を使用して、PicturerにバーコードBitMapを張り付ける
'=======================================================
Sub OLE_DISP()
Dim MiBar As New Mibarcd.Auto
With MiBar
.Show (0)
.Code = "" & SH_PNO.Text & "::" & SH_名称.Text & "::" & SH_型番.Text & "::" & SH_品番.Text & ";"
.CodeType = 12 'QR2"QR2"
.QRVersion = 8
.QRErrLevel = 1 '"M"
.HMargin = 5
.BarScale = 2
.CopyType = 1
.Execute
Picture1.Picture = Clipboard.GetData
End With
End Sub