Dim RegEx As Object
Dim Matches As Object
Set RegEx = CreateObject("VBScript.RegExp")
RegEx.IgnoreCase = True
RegEx.Global = True
'--- マッチしたかどうかテストする ----
RegEx.Pattern = "正規表現マッチパターン"
If RegEx.Test(文字列) Then
MsgBox "マッチしました"
Else
MsgBox "マッチしませんでした"
End If
'--- マッチしたときのn番目のグループ値を取出す ---
' $1 --- SubMatches(0)
' $2 --- SubMatches(1)
' $3 --- SubMatches(2)
RegEx.Pattern = "(\d{4})/(\d{2})/(\d{2})" '日付の形式
Set Matches = RegEx.Execute("2012/02/14")
If 0 < Matches.Count Then
MsgBox Matches(0).SubMatches(0) '2012
MsgBox Matches(0).SubMatches(1) '02
MsgBox Matches(0).SubMatches(3) '14
End If
2012年2月2日木曜日
Access Printer Object 変更して印刷
Sub RestoreReportPrinter()
Dim rpt As Report
Dim prtOld As Printer
Dim prtNew As Printer
DoCmd.OpenReport ReportName:="商品区分別商品リスト", View:=acViewPreview
Set rpt = Reports("商品区分別商品リスト")
'レポートの現在のプリンタ設定を prtOld 変数に保存します。
Set prtOld = rpt.Printer
'レポートの現在のプリンタ設定を prtNew 変数に代入します。
Set prtNew = rpt.Printer
'レポートの設定を変更
With prtNew
'用紙の向きを横に設定
.Orientation = acPRORLandscape
'印刷するページの上の余白を 30mm に設定
.TopMargin = Round(30 * 56.7, 2)
'印刷部数を 2 部に設定
.Copies = 2
'上下にページをめくる両面印刷の印刷の向きに設定
.Duplex = acPRDPVertical
'給紙トレイを上段に設定
.PaperBin = acPRBNUpper
End With
'印刷します。
Docmd.RunCommand acCmdPrint
'プリンタを元の設定に戻します。
Set rpt.Printer = prtOld
'保存せずに、レポートを閉じます。
DoCmd.Close ObjectType:=acReport, ObjectName:="商品区分別商品リスト", Save:=acSaveNo
Set rpt = Nothing
Set prtNew = Nothing
Set prtOld = Nothing
End Sub
Dim rpt As Report
Dim prtOld As Printer
Dim prtNew As Printer
DoCmd.OpenReport ReportName:="商品区分別商品リスト", View:=acViewPreview
Set rpt = Reports("商品区分別商品リスト")
'レポートの現在のプリンタ設定を prtOld 変数に保存します。
Set prtOld = rpt.Printer
'レポートの現在のプリンタ設定を prtNew 変数に代入します。
Set prtNew = rpt.Printer
'レポートの設定を変更
With prtNew
'用紙の向きを横に設定
.Orientation = acPRORLandscape
'印刷するページの上の余白を 30mm に設定
.TopMargin = Round(30 * 56.7, 2)
'印刷部数を 2 部に設定
.Copies = 2
'上下にページをめくる両面印刷の印刷の向きに設定
.Duplex = acPRDPVertical
'給紙トレイを上段に設定
.PaperBin = acPRBNUpper
End With
'印刷します。
Docmd.RunCommand acCmdPrint
'プリンタを元の設定に戻します。
Set rpt.Printer = prtOld
'保存せずに、レポートを閉じます。
DoCmd.Close ObjectType:=acReport, ObjectName:="商品区分別商品リスト", Save:=acSaveNo
Set rpt = Nothing
Set prtNew = Nothing
Set prtOld = Nothing
End Sub
2011年10月11日火曜日
Access 2010で2003までの起動時の設定ダイアログと同様の設定を行う
▼操作手順:
[ファイル]タブ
−[オプション]をクリック
↓
[Accessのオプション]ダイアログ
−[カレントデータベース]をクリック
↓
設定変更後
[Accessのオプション]ダイアログ
−[OK]ボタンをクリック
[ファイル]タブ
−[オプション]をクリック
↓
[Accessのオプション]ダイアログ
−[カレントデータベース]をクリック
↓
設定変更後
[Accessのオプション]ダイアログ
−[OK]ボタンをクリック
2011年10月5日水曜日
Memory上でRecordsetを使用する
Option Explicit
'
' inmemrs.wsf - インメモリでrecordsetを作成してオープンする
'
Dim objRec, varFields
Set objRec = CreateObject("ADODB.Recordset")
varFields = Array("BookID", "Title", "Price")
With objRec
With .Fields
.Append varFields(0), adInteger
.Append varFields(1), adChar, 100
.Append varFields(2), adCurrency
End With
.Open
.AddNew varFields, Array(100, "HogeHoge", 1200)
.AddNew varFields, Array(101, "FugaFuga", 1400)
.AddNew varFields, Array(102, "FooVar", 900)
.Update
End With
objRec.Save "sample.xml", adPersistXML
Set objRec = Nothing
----------------------------------------------------------
Rs.Sort = "FieldName ASC,FieldName2 DESC"
Rs.MoveFirst
Do Until Rs.Eof
xxxxxxx
Rs.MoveNext
Loop
Rs.Close
----------------------------------------------------------
'
' inmemrs.wsf - インメモリでrecordsetを作成してオープンする
'
Dim objRec, varFields
Set objRec = CreateObject("ADODB.Recordset")
varFields = Array("BookID", "Title", "Price")
With objRec
With .Fields
.Append varFields(0), adInteger
.Append varFields(1), adChar, 100
.Append varFields(2), adCurrency
End With
.Open
.AddNew varFields, Array(100, "HogeHoge", 1200)
.AddNew varFields, Array(101, "FugaFuga", 1400)
.AddNew varFields, Array(102, "FooVar", 900)
.Update
End With
objRec.Save "sample.xml", adPersistXML
Set objRec = Nothing
----------------------------------------------------------
Rs.Sort = "FieldName ASC,FieldName2 DESC"
Rs.MoveFirst
Do Until Rs.Eof
xxxxxxx
Rs.MoveNext
Loop
Rs.Close
----------------------------------------------------------
| フィールド属性定数 | JET | SQL |
|---|---|---|
| 対応なし型 adBinary=128 | BINARY | VARBINARY |
| Yes/No型 adBoolean=11 | BOOLEAN | BIT LOGICAL LOGICAL1 YESNO |
| バイト型 adUnsignedTinyInt=17 | BYTE | INTEGER1 |
| オートナンバー型 adInteger=3 | COUNTER | AUTOINCREMENT |
| 通貨型 adCurrency=6 | CURRENCY | MONEY |
| 日付型 adDate=7 | DATETIME | DATE TIME TIMESTAMP |
| 十進型 adNumeric=131 | DECIMAL | DECIMAL |
| 倍精度型 adDouble=5 | DOUBLE | FLOAT FLOAT8 IEEEDOUBLE NUMBER NUMERIC |
| 長整数型 adInteger=3 | LONG | INT INTEGER INTEGER4 |
| OLEオブジェクト型 adLongVarBinary=205 | LONGBINARY | GENERAL OLEOBJECT |
| メモ型 adLongVarWChar=203 | LONGTEXT | LONGCHAR MEMO NOTE |
| 単精度型 adSingle=4 | SINGLE | FLOAT4 IEEESINGLE REAL |
| 整数型 adSmallInt=2 | SHORT | INTEGER2 SMALLINT |
| テキスト型 adVarWChar=202 | TEXT | ALPHANUMERIC CHAR CHARACTER STRING VARCHAR |
| ハイパーリンク型 adLongVarWChar=203 | LONGTEXT | LONGCHAR MEMO NOTE |
2011年9月29日木曜日
Scriptファイルの絶対パス
WScript.ScriptFullName
実行しているスクリプトのフルパスを得られる。
【例】
FullPath = WScript.ScriptFullName
CurrentDir = Left(FullPath ,InStrRev(FullPath ,"\"))
末尾に\が付いている。
【例-1】
MsgBox CreateObject("Scripting.FileSystemObject").GetFolder(".").Path
【例-2】
MsgBox CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
【例-3:CurrentDrive】
msgbox CreateObject("Scripting.FileSystemObject").GetDriveName(WScript.ScriptFullName)
実行しているスクリプトのフルパスを得られる。
【例】
FullPath = WScript.ScriptFullName
CurrentDir = Left(FullPath ,InStrRev(FullPath ,"\"))
末尾に\が付いている。
【例-1】
MsgBox CreateObject("Scripting.FileSystemObject").GetFolder(".").Path
【例-2】
MsgBox CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
【例-3:CurrentDrive】
msgbox CreateObject("Scripting.FileSystemObject").GetDriveName(WScript.ScriptFullName)
2011年5月18日水曜日
Windows7でIIS7.5を有効化し、レガシーASPを使用可能にする。
コントロールパネル
↓
プログラムと機能
↓
Windowsの機能の有効化または無効化
↓
「インターネットインフォメーションサービス」にチェックを入れる
↓
以下のサブ機能にチェックを入れる
「Web管理ツール」
「World Wide Webサービス」
↓
「World Wide Webサービス」
↓
「アプリケーション開発機能」
↓
ASPとISAPI拡張機能にチェックを入れる
[OK]ボタンをクリックする
↓
プログラムと機能
↓
Windowsの機能の有効化または無効化
↓
「インターネットインフォメーションサービス」にチェックを入れる
↓
以下のサブ機能にチェックを入れる
「Web管理ツール」
「World Wide Webサービス」
↓
「World Wide Webサービス」
↓
「アプリケーション開発機能」
↓
ASPとISAPI拡張機能にチェックを入れる
[OK]ボタンをクリックする
2011年2月20日日曜日
フォームの入力でエスケープキーを無効にする
データを入力中にうっかりEscキーを押すとデータを消失する。これを防止するためEscキーの押下を無効にする方法。
<input type="text" ..... onkeydown="return 関数名">
JavaScript側
function 関数名() {
if (event.keyCode==27) {
return false;
}
else {
return true;
}
}
以上
登録:
投稿 (Atom)