【「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ [Visual Studio 2005 対応版]】
http://www.microsoft.com/japan/msdn/thisweek/300x10/
■[VB.NET]
【Visual Basic .NET を使用してデータベースから DataSet オブジェクトを取得する方法】
http://support.microsoft.com/default.aspx?scid=kb;ja;301216
■参考サイト
【Microsoft Access Club】
http://www.accessclub.jp/index.html
【ソフトウエア開発部】
http://www.ilovex.co.jp/Division/SRD/
■DataSetを1回だけ初回に宣言してその変数を使いまわすときに前回の内容が残る。
DisposeメソッドではなくClearメソッドを使うとデータの内容が削除される。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdatadatasetmemberstopic.asp
■データベースの書込み
Public Function WriteTestTBL(ByRef pCon As OleDb.OleDbConnection) As Boolean
Dim oAdapter As New OleDb.OleDbDataAdapter
Dim oCmdBldr As New OleDb.OleDbCommandBuilder(oAdapter)
Dim oData As New DataSet
Dim oRow As DataRow
Dim i As Integer = 0
Dim strSql As String
Dim strTBL As String = "Test"
strSql = "SELECT * FROM Test WHERE (日時 = #2006/01/07 23:00:00#) AND (番号 = 1)"
oData.Clear()
oAdapter.SelectCommand = New OleDb.OleDbCommand(strSql, pCon)
oAdapter.SelectCommand.Transaction = pCon.BeginTransaction 'トランザクションセット
Try
If (oAdapter.Fill(oData, strTBL) > 0) Then
oData.Tables(0).Rows(0).Item("日時") = "2006/01/07 23:00:00"
oData.Tables(0).Rows(0).Item("番号") = 1
Else
oRow = oData.Tables(strTBL).NewRow()
oRow.BeginEdit()
oRow("日時") = "2006/01/07 23:00:00"
oRow("番号") = 1
oRow.EndEdit()
oData.Tables(strTBL).Rows.Add(oRow)
oCmdBldr = New OleDb.OleDbCommandBuilder(oAdapter)
oAdapter.InsertCommand = oCmdBldr.GetInsertCommand
End If
oAdapter.Update(oData, strTBL)
oData.AcceptChanges() 'データセットのコミット
Catch ex As Exception
oAdapter.SelectCommand.Transaction.Rollback() 'トランザクションロールバック
Finally
If (IsNothing(oAdapter.SelectCommand.Transaction) <> True) Then
oAdapter.SelectCommand.Transaction.Commit() 'トランザクションコミット
oAdapter.SelectCommand.Transaction = Nothing 'トランザクション解放
End If
End Try
WriteTestTBL = True
oData.Dispose()
oCmdBldr.Dispose()
oAdapter.Dispose()
oRow = Nothing
oData = Nothing
oCmdBldr = Nothing
oAdapter = Nothing
End Function
■参考サイト
【MCSE braindumps】
http://www.mcse.ms/
火曜日, 11月 29, 2005
月曜日, 11月 28, 2005
木曜日, 11月 17, 2005
Google Analytics
■Webにスプレッドシートを埋め込むことができる?
【Num Sum:web spreadsheets】
http://www.numsum.com/
地域イベント検索サービス企業Zventsの創設者イーサン・ストック氏
【OnoTech】
http://onotech.blogspot.com/
【Num Sum:web spreadsheets】
http://www.numsum.com/
地域イベント検索サービス企業Zventsの創設者イーサン・ストック氏
【OnoTech】
http://onotech.blogspot.com/
木曜日, 11月 10, 2005
[VB.NET]Excelの表示形式
■Excelの表示形式の設定
Excel.Application.Workbooks(book).Sheets(sheet).Cells(row,col).NumberFormatLocal = "#,##0.0_ "
Excel.Application.Workbooks(book).Sheets(sheet).Cells(row,col).Validation.Delete()
Excel.Application.Workbooks(book).Sheets(sheet).Cells(row,col).Validation.Add(Type:=Excel.XlDVType.xlValidateDecimal, AlertStyle:=Excel.XlDVAlertStyle.xlValidAlertStop, Operator:=Excel.XlFormatConditionOperator.xlGreater, Formula1:="-999999999")
Excel.Application.Workbooks(book).Sheets(sheet).Cells(row,col).NumberFormatLocal = "#,##0.0_ "
Excel.Application.Workbooks(book).Sheets(sheet).Cells(row,col).Validation.Delete()
Excel.Application.Workbooks(book).Sheets(sheet).Cells(row,col).Validation.Add(Type:=Excel.XlDVType.xlValidateDecimal, AlertStyle:=Excel.XlDVAlertStyle.xlValidAlertStop, Operator:=Excel.XlFormatConditionOperator.xlGreater, Formula1:="-999999999")
水曜日, 11月 09, 2005
[VB.NET]Excelの終了処理
■Excelを終了させる時の処理
Dim xlsApp As Excel.Application
xlsApp.ActiveWorkbook.Close()
xlsApp.Quit()
xlsApp = Nothing
Dim xlsApp As Excel.Application
xlsApp.ActiveWorkbook.Close()
xlsApp.Quit()
xlsApp = Nothing
金曜日, 11月 04, 2005
アクセス解析リンク集
■フリーソフトでおすすめ!
このCGIは、KENT WEB にて公開されている Access Report を改造したスクリプトのようです。
サンプル画面を見ると一通りの機能は付いているようなのでおすすめできます。
【at works - access cgi】
http://atworks-online.net/access/access.html
■おすすめリンク
【はてな アクセス解析ソフトで安くていいソフトを教えてください。】
http://www.hatena.ne.jp/1122368973
【ウェブマスターはてな おすすめにアクセス解析ソフトを教えてください。...】
http://webmaster.hatena.ne.jp/1095378689
このCGIは、KENT WEB にて公開されている Access Report を改造したスクリプトのようです。
サンプル画面を見ると一通りの機能は付いているようなのでおすすめできます。
【at works - access cgi】
http://atworks-online.net/access/access.html
■おすすめリンク
【はてな アクセス解析ソフトで安くていいソフトを教えてください。】
http://www.hatena.ne.jp/1122368973
【ウェブマスターはてな おすすめにアクセス解析ソフトを教えてください。...】
http://webmaster.hatena.ne.jp/1095378689
月曜日, 10月 10, 2005
気になる情報
▼slコマンド 汽車
▼オフィス・ソフトのデータ形式
オープンソースのオフィス・ソフトOpenOffice.orgから誕生した
ODF(OpenDocument Format:オープン・ドキュメント・フォーマット)
ODFはXMLをベースとしたオフィス・ソフト向けのファイル・フォーマット。
■関連サイト
【オフィス・ソフトのファイル形式ODF(OpenDocument Format)がISO標準に】
http://itpro.nikkeibp.co.jp/article/NEWS/20060504/236970/
【OpenDocument Format Alliance】
http://www.odfalliance.org/
【OASIS、『ODF』対応製品の開発促進のため新技術委員会を開設】
http://japan.internet.com/webtech/20060308/12.html
【Placebo Effect :: OpenDocument(ODF)の参考資料(英語)】
http://www.catch.jp/blog/desktop/openoffice/a20060109.htm
▼オフィス・ソフトのデータ形式
オープンソースのオフィス・ソフトOpenOffice.orgから誕生した
ODF(OpenDocument Format:オープン・ドキュメント・フォーマット)
ODFはXMLをベースとしたオフィス・ソフト向けのファイル・フォーマット。
■関連サイト
【オフィス・ソフトのファイル形式ODF(OpenDocument Format)がISO標準に】
http://itpro.nikkeibp.co.jp/article/NEWS/20060504/236970/
【OpenDocument Format Alliance】
http://www.odfalliance.org/
【OASIS、『ODF』対応製品の開発促進のため新技術委員会を開設】
http://japan.internet.com/webtech/20060308/12.html
【Placebo Effect :: OpenDocument(ODF)の参考資料(英語)】
http://www.catch.jp/blog/desktop/openoffice/a20060109.htm
火曜日, 9月 20, 2005
火曜日, 9月 13, 2005
[VB2005]FlexGrid
■セルのデータ型を設定する。
Dim cs As C1.Win.C1FlexGrid.CellStyle
cs.DataTypeb = GetType(Integer)
■Borderスタイルを比較する。
Private Sub ToolStripComboBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripComboBox1.TextChanged
Dim tsmCmb As ToolStripComboBox
tsmCmb = sender
If (C1FlexGrid1.Rows.Count > 2) Then
C1FlexGrid1.Rows(1).Style.Border.Style = tsmCmb.SelectedIndex
C1FlexGrid1.Rows(1).Style.Border.Color = SystemColors.ControlDark
C1FlexGrid1.Cols(1).StyleFixedDisplay.Border.Style = tsmCmb.SelectedIndex
C1FlexGrid1.Cols(1).StyleFixedDisplay.Border.Color = SystemColors.Control
End If
End Sub
Private Sub FG_BorderStyle()
Dim cb As C1.Win.C1FlexGrid.CellBorder
ToolStripComboBox1.Items.Add(cb.Style.None.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Flat.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Double.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Raised.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Inset.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Groove.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Fillet.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Dotted.ToString)
End Sub
Private Function FG_ChangBorderStyle(ByVal pVal As String) As Integer
Dim cb As C1.Win.C1FlexGrid.CellBorder
Select Case pVal
Case cb.Style.None.ToString : FG_ChangBorderStyle = 0
Case cb.Style.Flat.ToString : FG_ChangBorderStyle = 1
Case cb.Style.Double.ToString : FG_ChangBorderStyle = 2
Case cb.Style.Raised.ToString : FG_ChangBorderStyle = 3
Case cb.Style.Inset.ToString : FG_ChangBorderStyle = 4
Case cb.Style.Groove.ToString : FG_ChangBorderStyle = 5
Case cb.Style.Fillet.ToString : FG_ChangBorderStyle = 6
Case cb.Style.Dotted.ToString : FG_ChangBorderStyle = 7
End Select
End Function
■データをクリアして再描画する。
'セルの全てがクリアされる。
C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.All)
'①C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.Content)
'②C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.Style)
'③C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.UserData)
C1FlexGrid1.Rows.Count = 0
'再描画したい処理を記述する。
C1FlexGrid1.Refresh()
●Clearメソッド
①Content
明示的にセルの範囲を指定し、ClearFlags列挙型Content要素によってデータをクリアする。
C1.Win.C1FlexGrid.CellRange cr = c1FlexGrid1.GetCellRange(1,1,2,2);
cr.Clear(C1.Win.C1FlexGrid.ClearFlags.Content);
②Style
Style要素を指定してクリアすると、指定した範囲だけではなく、全ての行および列のスタイル情報がクリア
される。列幅やセルの色/列の表示位置を変更するドラッグドロップの設定/ソート不可の設定などがデフォ
ルトに戻る。
③UserData
?
【FlexGrid for .NET 修正版リリースノート】
http://ftp.grapecity.com/patches/FlexGridNETwin/ReleaseNote_2120033_patch.htm
Dim cs As C1.Win.C1FlexGrid.CellStyle
cs.DataTypeb = GetType(Integer)
■Borderスタイルを比較する。
Private Sub ToolStripComboBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripComboBox1.TextChanged
Dim tsmCmb As ToolStripComboBox
tsmCmb = sender
If (C1FlexGrid1.Rows.Count > 2) Then
C1FlexGrid1.Rows(1).Style.Border.Style = tsmCmb.SelectedIndex
C1FlexGrid1.Rows(1).Style.Border.Color = SystemColors.ControlDark
C1FlexGrid1.Cols(1).StyleFixedDisplay.Border.Style = tsmCmb.SelectedIndex
C1FlexGrid1.Cols(1).StyleFixedDisplay.Border.Color = SystemColors.Control
End If
End Sub
Private Sub FG_BorderStyle()
Dim cb As C1.Win.C1FlexGrid.CellBorder
ToolStripComboBox1.Items.Add(cb.Style.None.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Flat.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Double.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Raised.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Inset.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Groove.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Fillet.ToString)
ToolStripComboBox1.Items.Add(cb.Style.Dotted.ToString)
End Sub
Private Function FG_ChangBorderStyle(ByVal pVal As String) As Integer
Dim cb As C1.Win.C1FlexGrid.CellBorder
Select Case pVal
Case cb.Style.None.ToString : FG_ChangBorderStyle = 0
Case cb.Style.Flat.ToString : FG_ChangBorderStyle = 1
Case cb.Style.Double.ToString : FG_ChangBorderStyle = 2
Case cb.Style.Raised.ToString : FG_ChangBorderStyle = 3
Case cb.Style.Inset.ToString : FG_ChangBorderStyle = 4
Case cb.Style.Groove.ToString : FG_ChangBorderStyle = 5
Case cb.Style.Fillet.ToString : FG_ChangBorderStyle = 6
Case cb.Style.Dotted.ToString : FG_ChangBorderStyle = 7
End Select
End Function
■データをクリアして再描画する。
'セルの全てがクリアされる。
C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.All)
'①C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.Content)
'②C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.Style)
'③C1FlexGrid1.Clear(C1.Win.C1FlexGrid.ClearFlags.UserData)
C1FlexGrid1.Rows.Count = 0
'再描画したい処理を記述する。
C1FlexGrid1.Refresh()
●Clearメソッド
①Content
明示的にセルの範囲を指定し、ClearFlags列挙型Content要素によってデータをクリアする。
C1.Win.C1FlexGrid.CellRange cr = c1FlexGrid1.GetCellRange(1,1,2,2);
cr.Clear(C1.Win.C1FlexGrid.ClearFlags.Content);
②Style
Style要素を指定してクリアすると、指定した範囲だけではなく、全ての行および列のスタイル情報がクリア
される。列幅やセルの色/列の表示位置を変更するドラッグドロップの設定/ソート不可の設定などがデフォ
ルトに戻る。
③UserData
?
【FlexGrid for .NET 修正版リリースノート】
http://ftp.grapecity.com/patches/FlexGridNETwin/ReleaseNote_2120033_patch.htm
木曜日, 9月 08, 2005
[VB2005]ContextMenuStrip
■ToolStripSeparatorのWidthプロパティを設定はできない?
■チェックが表示されるエリアを非表示にする。
ShowCheckMarginとShowImageMarginプロパティをFalseにする。
■チェックが表示されるエリアを非表示にする。
ShowCheckMarginとShowImageMarginプロパティをFalseにする。
火曜日, 8月 30, 2005
[VB.NET]ガベージコレクション
■ガベージコレクションを明示的に行う。
System.GC クラス
GC.Collect()
ガベージコレクションは、.NET Framewrok が必要と判断したときに随時実行されているので、明示的に
ガベージコレクションを行う必要はないが、意図的に行いたいときは実行に負荷がかかるためそのことを考慮
して使用しなくてはならない。
■参考サイト
【オブジェクトの解放について】
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/ObjectDispose/
System.GC クラス
GC.Collect()
ガベージコレクションは、.NET Framewrok が必要と判断したときに随時実行されているので、明示的に
ガベージコレクションを行う必要はないが、意図的に行いたいときは実行に負荷がかかるためそのことを考慮
して使用しなくてはならない。
■参考サイト
【オブジェクトの解放について】
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/ObjectDispose/
月曜日, 8月 29, 2005
[VB2005]ToolStripMenuItem
■CheckStateプロパティ
Checked :チェックボックスにチェックマークが表示され、コントロールがくぼんで表示されます。
Indeterminate :チェックボックスに・マークが表示され、コントロールがくぼんで表示されます。
Unchecked :チェックボックスがコントロールがフラットに表示されます。
■参考サイト
【CheckState クラスのフィールド】
http://www.jp.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscheckboxclasscheckstatetopic.asp
【みっちーわーるど】
http://www1.mahoroba.ne.jp/~mitt/index.html
Checked :チェックボックスにチェックマークが表示され、コントロールがくぼんで表示されます。
Indeterminate :チェックボックスに・マークが表示され、コントロールがくぼんで表示されます。
Unchecked :チェックボックスがコントロールがフラットに表示されます。
■参考サイト
【CheckState クラスのフィールド】
http://www.jp.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscheckboxclasscheckstatetopic.asp
【みっちーわーるど】
http://www1.mahoroba.ne.jp/~mitt/index.html
土曜日, 8月 20, 2005
[VB共通]DisposeとClose
【オブジェクトの破棄を保証する/じゃんぬねっと (C#, VB.NET)】
http://jeanne.wankuma.com/tips/programing/01-dispose.html
http://jeanne.wankuma.com/tips/programing/01-dispose.html
火曜日, 8月 16, 2005
[VB共通]基本構文
■For Each ステートメント
オブジェクトコレクション(Controlsコレクション)の要素を取り出す。
[VB.NET]
Dim oObj As Object
For Each oObj In Me.Controls
Next oObj
[VB2005]
Dim oObj As Object
For Each oObj In Me.Controls
Next oObj
■オーバーロード?
引数の型や種類が異なる同じ名前のメソッドを宣言すること。
Optionalで違う型の引数を宣言することはできない。
Optionalを使いたいときは引数の位置を変える必要がある。
■参考サイト
【@IT:連載:改訂版 プロフェッショナルVB.NETプログラミング Chapter 05 オブジェクト関連の変化】
http://www.atmarkit.co.jp/fdotnet/vb6tonet2/vbnet2_05/vbnet2_05_01.html
■New宣言
①Dim oData As DataSet = New DataSet()
②Dim oData As New DataSet
上記の①と②は同じ意味?②の方は、サンプルで使われていることが多い宣言の仕方である。しかも、シンプル!
【オブジェクトの宣言と参照代入 : ADO入門講座】
http://www.accessclub.jp/ado/03.html
オブジェクトコレクション(Controlsコレクション)の要素を取り出す。
[VB.NET]
Dim oObj As Object
For Each oObj In Me.Controls
Next oObj
[VB2005]
Dim oObj As Object
For Each oObj In Me.Controls
Next oObj
■オーバーロード?
引数の型や種類が異なる同じ名前のメソッドを宣言すること。
Optionalで違う型の引数を宣言することはできない。
Optionalを使いたいときは引数の位置を変える必要がある。
■参考サイト
【@IT:連載:改訂版 プロフェッショナルVB.NETプログラミング Chapter 05 オブジェクト関連の変化】
http://www.atmarkit.co.jp/fdotnet/vb6tonet2/vbnet2_05/vbnet2_05_01.html
■New宣言
①Dim oData As DataSet = New DataSet()
②Dim oData As New DataSet
上記の①と②は同じ意味?②の方は、サンプルで使われていることが多い宣言の仕方である。しかも、シンプル!
【オブジェクトの宣言と参照代入 : ADO入門講座】
http://www.accessclub.jp/ado/03.html
日曜日, 8月 14, 2005
金曜日, 7月 15, 2005
[.NET共通]セットアップ作成方法
■メモ
◎インストールするフォルダ構成はセットアップのプロジェクトの中で作成する。そのとき、ターゲットとなる
インストール先を考慮しなくてはならない。
「アプリケーション フォルダ」のプロパティ「DefaultLocation」を設定する。
◎ショートカットもセットアップのプロジェクトの中で作成する。アイコン表示は、プロパティの「Icon」で
リンクするEXEなどを指定する。
◎空のフォルダを作成したいときは、作成したフォルダのプロパティの「AlwaysCreate」を「True」に設定
する。
◎アンインストールのショートカットを「ユーザのプログラム メニュー」に作成する方法
1.「ファイルシステム」->「対象コンピュータ上のファイルシステム」を右クリックし、
「特別なフォルダの追加」で「システム フォルダ」を選択しフォルダを追加する。
2.システムフォルダ配下の「system32」フォルダにある「msiexec.exe」を実行環境
フォルダにコピーする。
3.コピーした「msiexec.exe」を「アプリケーション フォルダ」に追加する。
4.「msiexec.exe」を指定したショートカットを作成する。
5.ショートカットのプロパティ「Arguments」にパラメータを追加する。
例:/x{CA7FD919-BDB6-43B0-96DF-5782FE49CA74} /qb
6.ショートカットのプロパティ「WorkingFolder」に「システム フォルダ」を指定する。
■msiexec.exeのヘルプ
Windows (R) インストーラ. V 3.01.4000.1823
msiexec /Option <必須パラメータ> [省略可能なパラメータ]
インストール オプション
製品をインストールまたは構成します。
/a
管理用ツール - ネットワーク上の製品をインストールします。
/j [/t <変換一覧>] [/g <言語 ID>]
製品をアドバタイズします - すべてのユーザーには m、現在のユーザーには u を指定します。
製品をアンインストールします。
表示オプション
/quiet
Quiet モード - ユーザーの操作なし
/passive
無人モード - 進行状況バーのみ
/q[nbrf] ユーザー インターフェイスのレベルを設定します。
n - なし b - 基本 r - 簡易 f - 完全 (既定)
/help ヘルプ情報
再起動オプション
/norestart
インストール完了後に再起動しません。
/promptrestart
再起動が必要な場合は、ユーザーに再起動を要求します。
/forcerestart
常に、インストール後コンピュータを再起動します。
ログ オプション
/l[iwearucmopvx+!*]
i - 状態メッセージ
w - 致命的ではない警告
e - すべてのエラー メッセージ
a - 操作のスタートアップ
r - 特定の操作の記録
u - ユーザーの要求
c - UI パラメータの初期値
m - メモリ不足または致命的な終了に関する情報
o - ディスク領域不足メッセージ
p - ターミナルのプロパティ
v - 詳細出力
x - 詳細デバッグ情報
+ - 既存のログ ファイルに追加
! - 各行をログにフラッシュ
* - v オプションと
x オプションを除くすべての情報をログに記録します。
/log <ログ ファイル>
/l* <ログ ファイル> と指定したときと同じ情報がログに記録されます。
更新オプション
/update[;Update2.msp]
更新を適用します。
/uninstall <修正プログラム コード GUID>[;Update2.msp]
/package
製品の更新を削除します。
修復オプション
/f[pecmsodauv]
製品を修復します。
p - ファイルが見つからない場合のみ
o - ファイルが見つからない、または古いバージョンがインストールされている場合 (既定)
e - ファイルが見つからない、同じバージョンまたは古いバージョンがインストールされている場合
d - ファイルが見つからない、または違うバージョンがインストールされている場合
c - ファイルが見つからない、またはチェックサムと計算された値が一致しない場合
a - すべてのファイルをインストールする u - すべてのユーザー固有の必須レジストリ エントリ (既定)
m - すべてコンピュータ固有の必須レジストリ エントリ (既定)
s - すべての既存のショートカット (既定)
v - ソースから実行して、パッケージをローカルに再キャッシュする
パブリック プロパティの設定 [PROPERTY=プロパティ値]
コマンド ラインの構文の詳細については、Windows (R) インストーラ SDK を参照してください。
Copyright (C) Microsoft Corporation. All rights reserved.Portions of this software are based in part on the work of the Independent JPEG Group.
■参考サイト
【[HOW TO] Visual Studio .NET でセットアップ パッケージを作成する方法】
http://support.microsoft.com/?scid=kb;ja;307353&spid=3039&sid=global
【ベース ドライバと Intel(R) PROSet のコマンドライン インストール:
インテル(R) ネットワーク アダプタ ユーザ ガイド】
http://support.jp.dell.com/docs/NETWORK/9195P/intel_ug/ja/cmd_ln.htm
■インストールしたファイルをアンインストールで削除しない方法
ファイルプロパティにある「Permanent」プロパティを「True」にする。デフォルトは、アンインストール対象
の「False」が設定されている。
■参考サイト
【Permanent プロパティ】
http://s.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxgrfpermanentproperty.asp
◎インストールするフォルダ構成はセットアップのプロジェクトの中で作成する。そのとき、ターゲットとなる
インストール先を考慮しなくてはならない。
「アプリケーション フォルダ」のプロパティ「DefaultLocation」を設定する。
◎ショートカットもセットアップのプロジェクトの中で作成する。アイコン表示は、プロパティの「Icon」で
リンクするEXEなどを指定する。
◎空のフォルダを作成したいときは、作成したフォルダのプロパティの「AlwaysCreate」を「True」に設定
する。
◎アンインストールのショートカットを「ユーザのプログラム メニュー」に作成する方法
1.「ファイルシステム」->「対象コンピュータ上のファイルシステム」を右クリックし、
「特別なフォルダの追加」で「システム フォルダ」を選択しフォルダを追加する。
2.システムフォルダ配下の「system32」フォルダにある「msiexec.exe」を実行環境
フォルダにコピーする。
3.コピーした「msiexec.exe」を「アプリケーション フォルダ」に追加する。
4.「msiexec.exe」を指定したショートカットを作成する。
5.ショートカットのプロパティ「Arguments」にパラメータを追加する。
例:/x{CA7FD919-BDB6-43B0-96DF-5782FE49CA74} /qb
6.ショートカットのプロパティ「WorkingFolder」に「システム フォルダ」を指定する。
■msiexec.exeのヘルプ
Windows (R) インストーラ. V 3.01.4000.1823
msiexec /Option <必須パラメータ> [省略可能なパラメータ]
インストール オプション
製品をインストールまたは構成します。
/a
管理用ツール - ネットワーク上の製品をインストールします。
/j
製品をアドバタイズします - すべてのユーザーには m、現在のユーザーには u を指定します。
製品をアンインストールします。
表示オプション
/quiet
Quiet モード - ユーザーの操作なし
/passive
無人モード - 進行状況バーのみ
/q[nbrf] ユーザー インターフェイスのレベルを設定します。
n - なし b - 基本 r - 簡易 f - 完全 (既定)
/help ヘルプ情報
再起動オプション
/norestart
インストール完了後に再起動しません。
/promptrestart
再起動が必要な場合は、ユーザーに再起動を要求します。
/forcerestart
常に、インストール後コンピュータを再起動します。
ログ オプション
/l[iwearucmopvx+!*]
i - 状態メッセージ
w - 致命的ではない警告
e - すべてのエラー メッセージ
a - 操作のスタートアップ
r - 特定の操作の記録
u - ユーザーの要求
c - UI パラメータの初期値
m - メモリ不足または致命的な終了に関する情報
o - ディスク領域不足メッセージ
p - ターミナルのプロパティ
v - 詳細出力
x - 詳細デバッグ情報
+ - 既存のログ ファイルに追加
! - 各行をログにフラッシュ
* - v オプションと
x オプションを除くすべての情報をログに記録します。
/log <ログ ファイル>
/l* <ログ ファイル> と指定したときと同じ情報がログに記録されます。
更新オプション
/update
更新を適用します。
/uninstall <修正プログラム コード GUID>[;Update2.msp]
/package
製品の更新を削除します。
修復オプション
/f[pecmsodauv]
製品を修復します。
p - ファイルが見つからない場合のみ
o - ファイルが見つからない、または古いバージョンがインストールされている場合 (既定)
e - ファイルが見つからない、同じバージョンまたは古いバージョンがインストールされている場合
d - ファイルが見つからない、または違うバージョンがインストールされている場合
c - ファイルが見つからない、またはチェックサムと計算された値が一致しない場合
a - すべてのファイルをインストールする u - すべてのユーザー固有の必須レジストリ エントリ (既定)
m - すべてコンピュータ固有の必須レジストリ エントリ (既定)
s - すべての既存のショートカット (既定)
v - ソースから実行して、パッケージをローカルに再キャッシュする
パブリック プロパティの設定 [PROPERTY=プロパティ値]
コマンド ラインの構文の詳細については、Windows (R) インストーラ SDK を参照してください。
Copyright (C) Microsoft Corporation. All rights reserved.Portions of this software are based in part on the work of the Independent JPEG Group.
■参考サイト
【[HOW TO] Visual Studio .NET でセットアップ パッケージを作成する方法】
http://support.microsoft.com/?scid=kb;ja;307353&spid=3039&sid=global
【ベース ドライバと Intel(R) PROSet のコマンドライン インストール:
インテル(R) ネットワーク アダプタ ユーザ ガイド】
http://support.jp.dell.com/docs/NETWORK/9195P/intel_ug/ja/cmd_ln.htm
■インストールしたファイルをアンインストールで削除しない方法
ファイルプロパティにある「Permanent」プロパティを「True」にする。デフォルトは、アンインストール対象
の「False」が設定されている。
■参考サイト
【Permanent プロパティ】
http://s.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxgrfpermanentproperty.asp
[VB.NET]ExcelのPrintOutメソッド
■PrintOutメソッド
選択したオブジェクトを印刷することができる。パラメータには、
印刷するページ (印刷開始ページから終了ページまでを指定)->From:=開始ページ, To:=終了ページ
部数->Copies:=部数
印刷前のプレビュー->Preview:=「プレビュー有り:True、プレビュー無し:False」
使用するプリンタの名前->ActivePrinter:=「"PrinterName"、省略のときデフォルトプリンタ使用」
ファイルの印刷か、
部数単位印刷->Collate:=「部単位印刷有り:True(-1)、部単位印刷無し:False(0)、既定値はTrue」
プリントするファイルの名前など、
数多くの任意パラメータを指定することができます。
■例
指定したファイルの最初のページのみを 2 部、印刷前にプレビューした後に指定のプリンタで印刷します。
[VB.NET]
DirectCast(ThisWorkbook.Sheets(1), Excel.Worksheet).PrintOut(From:=1, To:=1,Copies:=2, Collate:=True, Preview:=True, ActivePrinter:="PrinterName")
// C#
((Excel.Worksheet)ThisApplication.Sheets[1]).
PrintOut(1, 1, 2, true, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
■参考サイト
【.NET 開発者の観点から捉えた Excel オブジェクト モデル】
http://www.microsoft.com/japan/msdn/office/vsto2003/ExcelObj.asp
選択したオブジェクトを印刷することができる。パラメータには、
印刷するページ (印刷開始ページから終了ページまでを指定)->From:=開始ページ, To:=終了ページ
部数->Copies:=部数
印刷前のプレビュー->Preview:=「プレビュー有り:True、プレビュー無し:False」
使用するプリンタの名前->ActivePrinter:=「"PrinterName"、省略のときデフォルトプリンタ使用」
ファイルの印刷か、
部数単位印刷->Collate:=「部単位印刷有り:True(-1)、部単位印刷無し:False(0)、既定値はTrue」
プリントするファイルの名前など、
数多くの任意パラメータを指定することができます。
■例
指定したファイルの最初のページのみを 2 部、印刷前にプレビューした後に指定のプリンタで印刷します。
[VB.NET]
DirectCast(ThisWorkbook.Sheets(1), Excel.Worksheet).PrintOut(From:=1, To:=1,Copies:=2, Collate:=True, Preview:=True, ActivePrinter:="PrinterName")
// C#
((Excel.Worksheet)ThisApplication.Sheets[1]).
PrintOut(1, 1, 2, true, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
■参考サイト
【.NET 開発者の観点から捉えた Excel オブジェクト モデル】
http://www.microsoft.com/japan/msdn/office/vsto2003/ExcelObj.asp
[VB.NET]タスクスケジュール
[参照設定」->「参照の追加」->「COM」->「Microsoft WMI Scripting V1.1 Library」を追加する。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strErrMsg As String
Dim intErrNo As Integer
Dim strErrDetail As String
Dim strErrType As String
Dim Job As WbemScripting.SWbemObject
Dim Locator As WbemScripting.SWbemLocator
Dim Service As Object
Try
Dim Ret As Int32
Dim ID As Int32
Dim MesStr As String
Locator = New WbemScripting.SWbemLocator
'Set Service = Locator.ConnectServer("ComputarName","root\cimv2","UserName","Password")
Service = Locator.ConnectServer(".")
Job = Service.Get("Win32_ScheduledJob")
'Command :Name of the executable program, batch file, or script to be run.
'StartTime :UTC time to run the job. This is of the form YYYYMMDDHHMMSS.MMMMMM(+-)OOO,
' where YYYYMMDD must be replaced by ********. Example: ********123000.000000-420,
' which implies 12:30 P.M. Pacific time with daylight saving time in effect.
'RunRepeatedly :Indicates whether the scheduled job should run repeatedly on the days that
' the job is scheduled. The default is FALSE. This parameter is optional.
'DaysOfWeek :Days of the week when the task should be run. Values are:
' 1 - 月曜日、2 - 火曜日、4 - 水曜日、8 - 木曜日、16 - 金曜日、32 - 土曜日、64 - 日曜日
' To run the task on multiple days, use a logical OR to combine values.
' For example, to run a task on Tuesday, Thursday, and Saturday, use the following code:
' 2 OR 8 OR 32
' To run a task on multiple days, you must set the RunRepeatedly parameter to True.
'DaysOfMonth :Days of the month when the job is scheduled to run;
' used only when the RunRepeatedly parameter is True. This parameter is optional.
'InteractWithDesktop:Indicates whether the specified job should be interactive
' (meaning that a user can give input to the scheduled job while it is executing).
' The default is False. This parameter is optional and is rarely set to True. In general,
' the reason to use a scheduled task is to allow a task to be carried out without any user interaction.
'JobID :Identifier number of the job. This parameter is a handle to the job being scheduled on this computer.
'Ret = Job.Create("Command", "StartTime[YYYYMMDDHHMMSS.MMMMMM(+-)OOO]", RunRepeatedly, DaysOfWeek, DaysOfMonth, InteractWithDesktop, JobID)
Ret = CLng(Job.Create("notepad.exe", "********123000.000000-900", False, 1, 1, False, ID))
If Ret = 0 Then
MsgBox("タスクを ID:" & ID & " で追加しました。")
Else
MsgBox("タスク追加に失敗しました。")
End If
Catch ex As Exception
strErrMsg = Err.Description
intErrNo = Err.Number
strErrDetail = ex.ToString()
strErrType = ex.GetType().ToString()
MsgBox(strErrMsg & vbCrLf & intErrNo & vbCrLf & strErrDetail & vbCrLf & strErrType)
Finally
Job = Nothing
Service = Nothing
Locator = Nothing
End Try
End Sub
■参考サイト
【- タスクスケジュールを追加する [Win32_ScheduledJob] -】
http://wmifun.atinfinity.net/sample/win32_scheduledjobb.html
【VBS for WMI】
http://www.geocities.jp/maru3128/wmi.html
Microsoft Windows 2000 Scripting Guide - Creating Scheduled Tasks
http://www.microsoft.com/technet/scriptcenter/guide/sas_man_rsxs.mspx
Windows 2000 タスク スケジューラ
http://www.microsoft.com/japan/
technet/prodtechnol/windows2000serv/maintain/featusability/tsksched.mspx
Hey, Scripting Guy!
http://www.microsoft.com/japan/
technet/scriptcenter/resources/qanda/sept04/hey0922.mspx
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strErrMsg As String
Dim intErrNo As Integer
Dim strErrDetail As String
Dim strErrType As String
Dim Job As WbemScripting.SWbemObject
Dim Locator As WbemScripting.SWbemLocator
Dim Service As Object
Try
Dim Ret As Int32
Dim ID As Int32
Dim MesStr As String
Locator = New WbemScripting.SWbemLocator
'Set Service = Locator.ConnectServer("ComputarName","root\cimv2","UserName","Password")
Service = Locator.ConnectServer(".")
Job = Service.Get("Win32_ScheduledJob")
'Command :Name of the executable program, batch file, or script to be run.
'StartTime :UTC time to run the job. This is of the form YYYYMMDDHHMMSS.MMMMMM(+-)OOO,
' where YYYYMMDD must be replaced by ********. Example: ********123000.000000-420,
' which implies 12:30 P.M. Pacific time with daylight saving time in effect.
'RunRepeatedly :Indicates whether the scheduled job should run repeatedly on the days that
' the job is scheduled. The default is FALSE. This parameter is optional.
'DaysOfWeek :Days of the week when the task should be run. Values are:
' 1 - 月曜日、2 - 火曜日、4 - 水曜日、8 - 木曜日、16 - 金曜日、32 - 土曜日、64 - 日曜日
' To run the task on multiple days, use a logical OR to combine values.
' For example, to run a task on Tuesday, Thursday, and Saturday, use the following code:
' 2 OR 8 OR 32
' To run a task on multiple days, you must set the RunRepeatedly parameter to True.
'DaysOfMonth :Days of the month when the job is scheduled to run;
' used only when the RunRepeatedly parameter is True. This parameter is optional.
'InteractWithDesktop:Indicates whether the specified job should be interactive
' (meaning that a user can give input to the scheduled job while it is executing).
' The default is False. This parameter is optional and is rarely set to True. In general,
' the reason to use a scheduled task is to allow a task to be carried out without any user interaction.
'JobID :Identifier number of the job. This parameter is a handle to the job being scheduled on this computer.
'Ret = Job.Create("Command", "StartTime[YYYYMMDDHHMMSS.MMMMMM(+-)OOO]", RunRepeatedly, DaysOfWeek, DaysOfMonth, InteractWithDesktop, JobID)
Ret = CLng(Job.Create("notepad.exe", "********123000.000000-900", False, 1, 1, False, ID))
If Ret = 0 Then
MsgBox("タスクを ID:" & ID & " で追加しました。")
Else
MsgBox("タスク追加に失敗しました。")
End If
Catch ex As Exception
strErrMsg = Err.Description
intErrNo = Err.Number
strErrDetail = ex.ToString()
strErrType = ex.GetType().ToString()
MsgBox(strErrMsg & vbCrLf & intErrNo & vbCrLf & strErrDetail & vbCrLf & strErrType)
Finally
Job = Nothing
Service = Nothing
Locator = Nothing
End Try
End Sub
■参考サイト
【- タスクスケジュールを追加する [Win32_ScheduledJob] -】
http://wmifun.atinfinity.net/sample/win32_scheduledjobb.html
【VBS for WMI】
http://www.geocities.jp/maru3128/wmi.html
Microsoft Windows 2000 Scripting Guide - Creating Scheduled Tasks
http://www.microsoft.com/technet/scriptcenter/guide/sas_man_rsxs.mspx
Windows 2000 タスク スケジューラ
http://www.microsoft.com/japan/
technet/prodtechnol/windows2000serv/maintain/featusability/tsksched.mspx
Hey, Scripting Guy!
http://www.microsoft.com/japan/
technet/scriptcenter/resources/qanda/sept04/hey0922.mspx
木曜日, 7月 14, 2005
[VB.NET or VB2005]例外処理
■エラー取得
Dim strErrMsg As String
Dim intErrNo As Integer
Dim strErrDetail As String
Dim strErrType As String
Try
' 処理内容
Catch ex As Exception
strErrMsg = Err.Description
intErrNo = Err.Number
strErrDetail = ex.ToString()
strErrType = ex.GetType().ToString()
MsgBox("エラー内容:" & Err.Description & "(" & Err.Number & ")" & vbCrLf & _
"詳細内容:" & ex.ToString() & "(" & ex.GetType().ToString() & ")")
End Try
■Throwステートメント:プログラムの実行を中断し、プログラム内の関連するCatchブロックに制御を移す。
■参考サイト
【VB 例外 - Throw】
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard33.htm
Dim strErrMsg As String
Dim intErrNo As Integer
Dim strErrDetail As String
Dim strErrType As String
Try
' 処理内容
Catch ex As Exception
strErrMsg = Err.Description
intErrNo = Err.Number
strErrDetail = ex.ToString()
strErrType = ex.GetType().ToString()
MsgBox("エラー内容:" & Err.Description & "(" & Err.Number & ")" & vbCrLf & _
"詳細内容:" & ex.ToString() & "(" & ex.GetType().ToString() & ")")
End Try
■Throwステートメント:プログラムの実行を中断し、プログラム内の関連するCatchブロックに制御を移す。
■参考サイト
【VB 例外 - Throw】
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard33.htm
登録:
投稿 (Atom)