2013年10月3日木曜日

[Blogger]Blogger の記事を整形するVBScript(Youtubeサイズを変更.vbs)

Blogger で貼り付けた Youtube ウィンドウのウィンドウサイズを変更するのに私が使っているスクリプトです。

変更前のサイズ: 320 × 266
変更後のサイズ: 480 × 400


使い方

まずは Blogger の編集で Youtube の動画を挿入します。
デフォルトのサイズは 320 × 266 になってます。

「HTML」編集に切り替えて、文字列をコピーし、テキストファイルに貼り付けて保存します。
HTML 編集画面で文字列コピー
テキストファイルに文字列貼り付け
テキストファイルの文字コードは「ANSI」と「Unicode」なら大丈夫です。

そしたらテキストファイルを VB スクリプトに ドラッグ&ドロップ します。

新しいファイルが作成されるので、そのファイルの文字列を再度 Blogger にコピーして貼り付けます。

そうすると Youtube の画面サイズが変更されます。

スクリプト

私が作ったスクリプトはこんな感じ。

Youtubeサイズを変更.vbs
'ドラッグ&ドロップしたテキストファイルを変換します。
'
' ・Youtubeのサイズを変更
' ・変換後のファイル名は元のファイル名_new

'引数のファイルを取得
Set args = WScript.Arguments
strFileName = args(0)

'変換後のファイル名 = 元のファイル名_new
pos = InstrRev(strFileName, ".")
strDistFile = Left(strFileName,(pos-1)) & "_new" & Mid(strFileName, pos)

'オブジェクトの生成
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, 1, false, -2)
Set objFile_Dist = objFSO.CreateTextFile(strDistFile, true, true)

'正規表現オブジェクトを生成
Set regEx = New RegExp

'初期化
i = 0

'元ファイルから一行ずつ読み込み、正規表現による文字列処理
Do While (objFile.AtEndOfStream <> True)
  Found_1 = False
  Found_2 = False
  strLineData = objFile.ReadLine

  '----------------------------------------------
  '検索文字列: <object width="320" height="266"
  '変更後文字列:<object width="480" height="400"
  '----------------------------------------------
  regEx.Pattern = "<object width=""320"" height=""266"""
  If regEx.Test(strLineData) Then
    Found_1 = True
    strLineData = regEx.Replace(strLineData, "<object width=""480"" height=""400""")
  End If

  '------------------------------------------------------------
  '検索文字列:  height="266" width="320"><param name="movie"
  '変更後文字列: height="400" width="480"><param name="movie"
  '------------------------------------------------------------
  regEx.Pattern = " height=""266"" width=""320""><param name=""movie"""
  If regEx.Test(strLineData) Then
    If Found_1 = True Then MsgBox "下記の行が処理できませんでした" & vbCrLf & strLineData
    Found_1 = True
    strLineData = regEx.Replace(strLineData, " height=""400"" width=""480""><param name=""movie""")
  End If

  '----------------------------------------------
  '検索文字列: <embed width="320" height="266"
  '変更後文字列:<embed width="480" height="400"
  '----------------------------------------------
  regEx.Pattern = "<embed width=""320"" height=""266"""
  If regEx.Test(strLineData) Then
    Found_2 = True
    strLineData = regEx.Replace(strLineData, "<embed width=""480"" height=""400""")
  End If

  If Found_1 and Not Found_2 Then MsgBox "下記の行が処理できませんでした" & vbCrLf & strLineData
  If Not Found_1 and Found_2 Then MsgBox "下記の行が処理できませんでした" & vbCrLf & strLineData

  If Found_1 and Found_2 Then i = i + 1

  objFile_Dist.WriteLine(strLineData)

Loop

MsgBox "Youtubeのサイズを " & i & " 箇所変更しました。"


Blogger Tips のページに戻る

0 件のコメント:

コメントを投稿