Archive for 2011年5月

documentModeが9にならない?

2011/05/07

下のソースコードは一般的なHTMLコードで、これをIE9で表示するとドキュメントモードは「IE9」(9)になります。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<p>hoge</p>
</body>
</html>

IE9用に書いたものなので当たり前の動作なのですが、これをVBSで下記のように書くと何故かドキュメントモードが「8」になってしまいます。
(DOCTYPEやX-UA-Compatibleが色々書かれているのは色々試した結果。どれも「9」にならず・・・)

Option Explicit

Dim s

'DOCTYPE
s = "<!DOCTYPE html>" & vbCrLf
's = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0//EN"">" & vbCrLf
's = "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.1//EN"" ""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"">" & vbCrLf

s = s & "<html>" & vbCrLf
s = s & "<head>" & vbCrLf
s = s & "<meta charset=""UTF-8"">" & vbCrLf

'X-UA-Compatible
s = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=edge"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=100"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=IE9"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=EmulateIE9"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=9"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=9; IE=8; IE=5"">" & vbCrLf

s = s & "</head>" & vbCrLf
s = s & "<body>" & vbCrLf
s = s & "<p>hoge</p>" & vbCrLf
s = s & "</body>" & vbCrLf
s = s & "</html>" & vbCrLf

With CreateObject("htmlfile")
  .clear
  .open
  .write s
  .close
  
  MsgBox "userAgent:" & .parentWindow.clientInformation.userAgent & vbCrLf & _
         "documentMode:" & .documentMode
End With

下位のドキュメントモードには設定できるのですが、う~ん・・・。謎です。
他に設定しないといけないところがあるのかなぁ・・・(?_?)

広告

Google AdSense始めてみました。

2011/05/06

思いつきでホームページでGoogle AdSenseを始めてみました。
AdSense関連のサイトを見ると審査には時間が掛かるらしいのですが、申請後10分くらいで審査通過のメールが届きました。
審査がスピーディになったんでしょうか?
よく分かりませんが、とりあえずヘルプに従って広告設置。

しばらくこれで様子を見てみます。
飽きたら広告外して元通りにするかもしれません。

UndoRecordオブジェクトの使用例

2011/05/03

ユーザー設定の「元に戻す」機能を使用する(Word 2010 VBA)」でWord 2010で新たに追加されたUndoRecordオブジェクトを紹介していますが、今回はその使用例を紹介します。

Option Explicit

Public Sub Sample()
  Dim ur As Word.UndoRecord
  
  MsgBox "処理を実行します。", vbInformation
  Set ur = Application.UndoRecord
  ur.StartCustomRecord "My Custom Undo"
  
  '----------------------
  '一連の処理
  '----------------------
  Selection.TypeText "A"
  Selection.TypeParagraph
  Selection.TypeText "B"
  Selection.TypeParagraph
  Selection.TypeText "C"
  Selection.TypeParagraph
  Selection.TypeText "D"
  Selection.TypeParagraph
  Selection.TypeText "E"
  Selection.TypeParagraph
  Selection.TypeText "F"
  Selection.TypeParagraph
  '----------------------
  
  ur.EndCustomRecord
  If MsgBox("一連の処理を取り消しますか?", vbYesNo) = vbYes Then ActiveDocument.Undo
  Set ur = Nothing
End Sub

上記はほんの一例ですが、処理前にStartCustomRecordメソッドを入れることで、処理後にまとめて取り消すことができるようになります。

IME 2010 「DQNネーム辞書」(オープン拡張辞書)公開

2011/05/02

2012/02/23 辞書を更新しました。
詳細は「「DQNネーム辞書」を更新しました。」から。

DQNネーム(子供の名前@あー勘違い・子供がカワイソ)に登録されているDQNネームを登録したオープン拡張辞書を作成しましたので、下記リンクにて公開します。
辞書登録時のエラーチェックやフィルタリングで一部引っかかってしまいますが、2つの辞書合わせて約19,000個の名前を収録しています。

http://cid-92a165759188b352.office.live.com/browse.aspx/.Public/dctxc

公開を承諾してくださったDQNネーム管理者様にはこの場を借りてお礼申し上げます。

オープン拡張辞書の詳細や登録方法については下記リンクをご参照ください。

「オープン拡張辞書を追加する」
http://pc.nikkeibp.co.jp/article/technique/20100510/1024767/
「Microsoft Office IME 2010 オープン拡張辞書」
http://www.microsoft.com/japan/office/2010/ime/open-extended-dictionary.mspx