サンプルマクロ 200行まで実行出来ます Yukkuri3rev02 注意 エクセルファイルを保存したときに、以下のようなメッセージがうざく出る場合があります。 メニューでファイルを開いたところにブックの検査というのがありますので、 「これらの情報をファイルに保存できるようにする」をクリックしてください
参照設定
サンプルマクロ 200行まで実行出来ます Yukkuri3rev02 注意 エクセルファイルを保存したときに、以下のようなメッセージがうざく出る場合があります。 メニューでファイルを開いたところにブックの検査というのがありますので、 「これらの情報をファイルに保存できるようにする」をクリックしてください
参照設定
Book1PowerShellでゆっくりムービーメーカー3のセリフ・表情を一発入力するスクリプトを作ってみた。
チャンネル登録をお願いします。
https://www.youtube.com/channel/UCplPgEYD8YLU_s4Lez4INJw?sub_confirmation=1
PowerShellスクリプト yukkuri.ps1
#Import-Module C:\Temp\UIAutomation.dll
Import-Module ..\UIAutomation.dll
$script:current_char = 0
$UIAChildrenScope = [System.Windows.Automation.TreeScope]::Children
$UIATrue = [System.Windows.Automation.Condition]::TrueCondition
#タイムラインとアイテム編集は表示オンになってる前提
$mainWindow = Get-UiaWindow -Class 'Window' -Name 'ゆっくりMovieMaker v3.4.8.1 (x0.47)'
$win_timeline = $mainWindow.FindAll($UIAChildrenScope, $UIATrue) | Where-Object {$_.Current.Name -like "タイムライン*"}
$win_itemedit = $mainWindow.FindAll($UIAChildrenScope, $UIATrue) | Where-Object {$_.Current.Name -like "アイテム編集"}
#キャラを変えるためのCTRL+上下矢印キー押下の関数
function char_up {
$win_timeline.Keyboard.KeyDown([WindowsInput.Native.VirtualKeyCode]::CONTROL) | Out-Null;
$win_timeline.Keyboard.KeyPress([WindowsInput.Native.VirtualKeyCode]::UP) | Out-Null;
$win_timeline.Keyboard.KeyUp([WindowsInput.Native.VirtualKeyCode]::CONTROL) | Out-Null;
}
function char_down {
$win_timeline.Keyboard.KeyDown([WindowsInput.Native.VirtualKeyCode]::CONTROL) | Out-Null;
$win_timeline.Keyboard.KeyPress([WindowsInput.Native.VirtualKeyCode]::DOWN) | Out-Null;
$win_timeline.Keyboard.KeyUp([WindowsInput.Native.VirtualKeyCode]::CONTROL) | Out-Null;
}
#タイムラインを進めるスペースキー押下の関数
function ywait($x) {
$win_timeline.Keyboard.KeyPress([WindowsInput.Native.VirtualKeyCode]::SPACE) | Out-Null;
Start-Sleep -m $x
$win_timeline.Keyboard.KeyPress([WindowsInput.Native.VirtualKeyCode]::SPACE) | Out-Null;
}
# セリフにaを入れて消す。
# これをやらないとアイテム編集でキャラクターの設定が出来ない
char_up;char_up;char_up;char_up
$window = $win_timeline | Get-UiaEdit -AutomationId 'SerifuTB' -Class 'TextBox'
$window.Keyboard.TypeText("a")
$win_timeline | Get-UiaButton -Class 'Button' -Name '追加' | Invoke-UiaTabItemClick | Out-Null | Invoke-UiaTabItemClick | Out-Null
$win_timeline.Keyboard.KeyPress([WindowsInput.Native.VirtualKeyCode]::DELETE) | Out-Null;
#表情を変えるために処理
$char_parts = $win_itemedit|Get-UiaCustom -AutomationId 'this' -Class 'ItemEditor' | `
Get-UiaPane -Class 'ScrollViewer' | `
Get-UiaGroup -AutomationId 'FaceSetEx' -Class 'Expander' -Name 'キャラ素材 / パーツ' | `
Get-UiaCustom -AutomationId 'this' -Class 'CheckTextboxSlider' | `
Get-UiaEdit -AutomationId 'DetTextbox' -Class 'TextBox'
function yparts($p0,$p1,$p2,$p3,$p4,$p5,$p6) {
#顔 眉 目 口 体 他 後
$char_parts[0].Value = $p0
$char_parts[1].Value = $p1
$char_parts[2].Value = $p2
$char_parts[3].Value = $p3
$char_parts[4].Value = $p4
$char_parts[5].Value = $p5
$char_parts[6].Value = $p6
}
#キャラのアクションの処理
$char_actions = $win_itemedit|Get-UiaCustom -AutomationId 'this' -Class 'ItemEditor' | `
Get-UiaPane -Class 'ScrollViewer' | `
Get-UiaGroup -AutomationId 'FaceSetEx2' -Class 'Expander' -Name 'キャラ素材 / アクション' | `
Get-UiaCustom -AutomationId 'this' -Class 'CheckTextboxSlider' | `
Get-UiaEdit -AutomationId 'DetTextbox' -Class 'TextBox'
function yactions($a0,$a1,$a2,$a3,$a4) {
#顔 眉 目 口 体 他 後
$char_actions[0].Value = $a0
$char_actions[1].Value = $a1
$char_actions[2].Value = $a2
$char_actions[3].Value = $a3
$char_actions[4].Value = $a4
}
function change_char($x) {
"current_char: $script:current_char -> $x"
if ( $x -ne $script:current_char ) {
if ($x -gt $script:current_char) {
"cnange d"
for ($i=0; $i -lt $x-$script:current_char; $i++){
char_down
"d"
}
} else {
"cnange u"
for ($i=0; $i -lt $script:current_char-$x; $i++){
char_up
"u"
}
}
$script:current_char=$x
}
}
#セリフ入力の関数
function yspeak($c,$p0,$p1,$p2,$p3,$p4,$p5,$p6,$a0,$a1,$a2,$a3,$a4,$x) {
change_char($c)
$window = $win_timeline | Get-UiaEdit -AutomationId 'SerifuTB' -Class 'TextBox'
$window.Keyboard.TypeText($x)
Start-Sleep -m 300
$win_timeline | Get-UiaButton -Class 'Button' -Name '追加' | Invoke-UiaTabItemClick | Out-Null | Invoke-UiaTabItemClick | Out-Null
Start-Sleep -m 500
yparts $p0 $p1 $p2 $p3 $p4 $p5 $p6
yactions $a0 $a1 $a2 $a3 $a4
ywait(100)
Start-Sleep -m 300
}
###### ここからセリフ ########
#yspeak キャラ 顔 眉 目 口 体 他 後 高 速 間 ク 震 "セリフ"
yspeak 0 3 0 0 0 0 0 0 15 15 0.15 20 0 "みなさんこんにちは、ゆっくり霊夢です"
yspeak 1 3 0 0 0 0 0 0 15 15 0.15 20 0 "ゆっくり魔理沙だぜ"
yspeak 2 3 0 0 0 0 0 0 15 15 0.15 20 0 "ゲストのゆっくり妖夢です。"
ywait 200
yspeak 0 3 0 0 0 0 0 0 15 15 0.15 20 0 "以前UWSCでゆっくりムービーメーカー3のセリフ入力を自動化したけど、"
yspeak 0 3 0 0 0 0 0 0 15 15 0.15 20 0 "UIAutomationとPowerShellでもやってみたよ。"
ywait 200
yspeak 1 3 0 0 0 0 0 0 15 15 0.15 20 0 "なんでまたムービーメーカー3で。"
###
# 省略
###
ywait 200
yspeak 0 3 0 0 0 0 0 0 15 15 0.15 20 0 "それでは"
yspeak 0 3 0 0 0 0 0 0 15 15 0.15 20 0 "本日のご視聴ありがとうございました。"
yspeak 1 3 0 0 0 0 0 0 15 15 0.15 20 0 "本日のご視聴ありがとうございました。"
yspeak 2 3 0 0 0 0 0 0 15 15 0.15 20 0 "本日のご視聴ありがとうございました。"
exit
# 覚え書き
#$mainWindow.FindAll($UIAChildrenScope, $UIATrue) | % {$_.current} | select name, ControlType , ClassName, LocalizedControlType
エクセルで作った補助ツール
Book1
VBAでシフトJISファイルをEBCDICに変換する必要があり、
ネットを探すと「VBS/シフトJISファイルをEBCDICに変換する」ていうページがあったので、
それを参考にVBAにしてみた。
VBS/シフトJISファイルをEBCDICに変換する http://wikis.sakura.ne.jp/tipi/?VBS/%A5%B7%A5%D5%A5%C8JIS%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2EBCDIC%A4%CB%CA%D1%B4%B9%A4%B9%A4%EB
読み込むファイルは固定長のシフトJISの1バイト文字だけのファイル。
その内容をEBCDICにして改行コードを削除して出力します。
Sub test() '【参照設定】Microsoft ActiveX Data Objects 6.1 Library にすること Dim oFileStream As ADODB.Stream Dim b_data() As Byte 'ファイル名 input_file = "data1.TXT" output_file = "data2.TXT" '変換テーブル読み込み xlatTable = ASCII_To_EBCDIC_Table() On Error GoTo Err '入力ファイルのオープン Set oFileStream1 = New ADODB.Stream 'ADODB.Stream生成 oFileStream1.Type = adTypeText 'Textモード oFileStream1.Charset = "Shift_JIS" '文字コード(Shift_JIS,UTF-8 ,Unicodeなど) oFileStream1.Open 'Streamのオープン oFileStream1.LoadFromFile (input_file) '出力ファイルのオープン Set oFileStream2 = New ADODB.Stream 'ADODB.Stream生成 oFileStream2.Type = adTypeBinary 'Binary モード oFileStream2.Open 'Streamのオープン 'ファイルの終りまでループ Do While Not (oFileStream1.EOS) '1行読み込み(readText(adReadAll):すべて読み込み) x_line = oFileStream1.ReadText(adReadLine) ReDim b_data(Len(x_line) - 1) As Byte For i = 0 To Len(x_line) - 1 codeConv = Mid(xlatTable, (Asc(Mid(x_line, i + 1, 1)) * 2) + 1, 2) 'Debug.Print i & ":" & Hex(Asc(Mid(x_line, i + 1, 1))) & " " & codeConv & " " & Val("&H" + codeConv) b_data(i) = Val("&H" + codeConv) Next oFileStream2.Write b_data '内容を書き込む' Loop oFileStream1.Close Set oFileStream1 = Nothing oFileStream2.SaveToFile output_file, 2 '2:adSaveCreateOverWrite oFileStream2.Close Set oFileStream = Nothing Exit Sub Err: Set oFileStream = Nothing 'エラー内容 MsgBox (Err.Description) End Sub Function ASCII_To_EBCDIC_Table() ' ' Returns the following table as a string for use by the Translate ' function to translate an ASCII-ISO/ANSI string to an EBCDIC string. ' ' (Hitachi EBCDIK) ' 0 1 2 3 4 5 6 7 8 9 A B C D E F ' 0 00 01 02 03 37 2D 2E 2F 16 05 15 0B 0C 0D 0E 0F :016 :----------------: ' 1 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F :032 :----------------: ' 2 40 4F 7F 7B E0 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61 :048 : !"#$%&'()*+,-./: ' 3 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F :064 :0123456789:;<=>?: ' 4 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 :080 :@ABCDEFGHIJKLMNO: ' 5 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A 5B 5A 5F 6D :096 :PQRSTUVWXYZ[\]^_: ' 6 79 59 62 63 64 65 66 67 68 69 70 71 72 73 74 75 :112 :~abcdefghijklmno: ' 7 76 77 78 80 8B 9B 9C A0 AB B0 B1 C0 6A D0 A1 07 :128 :pqrstuvwxyz{|}~ : ' 8 20 21 22 23 24 25 06 17 28 29 2A 2B 2C 09 0A 1B :133 :----------------: ' 9 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E E1 :160 :----------------: ' A 57 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 :176 : 。「」、・ヲァィゥェォャュョッ: ' B 58 81 82 83 84 85 86 87 88 89 8A 8C 8D 8E 8F 90 :192 :ーアイウエオカキクケコサシスセソ: ' C 91 92 93 94 95 96 97 98 99 9A 9D 9E 9F A2 A3 A4 :208 :タチツテトナニヌネノハヒフヘホマ: ' D A5 A6 A7 A8 A9 AA AC AD AE AF BA BB BC BD BE BF :224 :ミムメモヤユヨラリルレロワン゙゚: ' E B2 B3 B4 B5 B6 B7 B8 B9 CA CB CC CD CE CF DA DB :240 :----------------: ' F DC DD DE DF EA EB EC ED EE EF FA FB FC FD FE FF :256 :----------------: ' ' ASCII_To_EBCDIC_Table = _ ' "00010203372D2E2F1605150B0C0D0E0F101112133C3D322618193F271C1D1E1F" & _ ' "404F7F7BE06C507D4D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F" & _ ' "7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E94A5B5A5F6D" & _ ' "79596263646566676869707172737475767778808B9B9CA0ABB0B1C06AD0A107" & _ ' "202122232425061728292A2B2C090A1B30311A333435360838393A3B04143EE1" & _ ' "57414243444546474849515253545556588182838485868788898A8C8D8E8F90" & _ ' "9192939495969798999A9D9E9FA2A3A4A5A6A7A8A9AAACADAEAFBABBBCBDBEBF" & _ ' "B2B3B4B5B6B7B8B9CACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF" '(Fujitsu EBCDIC) ' 0 1 2 3 4 5 6 7 8 9 A B C D E F ' 0 00 01 02 03 37 2D 2E 2F 16 05 15 0B 0C 0D 0E 0F :016 :----------------: ' 1 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F :032 :----------------: ' 2 40 4F 7F 7B E0 6C B6 B7 4D 5D 5C 4E 6B 60 4B 61 :048 : !"#$%&'()*+,-./: ' 3 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F :064 :0123456789:;<=>?: ' 4 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 :080 :@ABCDEFGHIJKLMNO: ' 5 D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 4A 5B 5A 5F 6D :096 :PQRSTUVWXYZ[\]^_: ' 6 79 7D B4 63 64 65 66 67 68 69 70 71 72 73 74 75 :112 :~abcdefghijklmno: ' 7 76 77 78 50 8B 9B 9C A0 AB B0 B1 C0 6A D0 A1 07 :128 :pqrstuvwxyz{|}~ : ' 8 20 21 22 23 24 25 06 17 28 29 2A 2B 2C 09 0A 1B :133 :----------------: ' 9 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E E1 :160 :----------------: ' A 57 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 :176 : 。「」、・ヲァィゥェォャュョッ: ' B 58 81 82 83 84 85 86 87 88 89 8A 8C 8D 8E 8F 90 :192 :ーアイウエオカキクケコサシスセソ: ' C 91 92 93 94 95 96 97 98 99 9A 9D 9E 9F A2 A3 A4 :208 :タチツテトナニヌネノハヒフヘホマ: ' D A5 A6 A7 A8 A9 AA AC AD AE AF BA BB BC BD BE BF :224 :ミムメモヤユヨラリルレロワン゙゚: ' E B2 B3 B4 B5 B6 B7 B8 B9 CA CB CC CD CE CF DA DB :240 :----------------: ' F DC DD DE DF EA EB EC ED EE EF FA FB FC FD FE FF :256 :----------------: ' ' 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F ASCII_To_EBCDIC_Table = _ "00010203372D2E2F1605150B0C0D0E0F101112133C3D322618193F271C1D1E1F" & _ "404F7F7BE06CB6B74D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F" & _ "7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E94A5B5A5F6D" & _ "797DB463646566676869707172737475767778508B9B9CA0ABB0B1C06AD0A107" & _ "202122232425061728292A2B2C090A1B30311A333435360838393A3B04143EE1" & _ "57414243444546474849515253545556588182838485868788898A8C8D8E8F90" & _ "9192939495969798999A9D9E9FA2A3A4A5A6A7A8A9AAACADAEAFBABBBCBDBEBF" & _ "B2B3B4B5B6B7B8B9CACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF" '相違点 ' (Hitachi) (Fujitsu) ' & 50 B6 ' ' 7D B7 ' a 59 7D ' b 62 B4 ' s 80 50 End Function
CLIP STUDIOで正三角形格子を描いてみる
CLIP STUDIOにはオートアクションていうのがあって手続きを自動でやってくれる機能があるけど
複雑なことができないので、UWSCでやってみた。
PUBLIC wait_sec=0.1
PUBLIC h_center=549
PUBLIC d=100
//キャンバスエリア 縦120-975
PUBLIC num_line=INT((975-120)/d)
ID=GETID("CLIP STUDIO PAINT")
CTRLWIN(ID, MAX)
MOUSEORG(ID,1)
ACW(ID)
ROTE60
SCKEY(ID,VK_ALT,VK_V);sleep(1); KBD(VK_F) //フィッテング
SCKEY(ID,VK_ALT,VK_V);sleep(1); KBD(VK_F) //フィッテング 念の為もう一回
KBD(VK_P) // PENモード
KBD(VK_U) //図形モード
DRAW_LINE
ROTE60
DRAW_LINE
ROTE60
DRAW_LINE
CTRLWIN(ID, NORMAL)
PROCEDURE DRAW_LINE
for y=h_center - d * num_line/2 to h_center + d * num_line/2 step d
BTN(LEFT,DOWN,270,y)
BTN(LEFT,UP,1600,y)
SLEEP(wait_sec)
next
FEND
PROCEDURE ROTE60
for i=1 to 12
KBD(VK_OEM_7) //日本語キーボードの^
SLEEP(wait_sec)
next
FEND
キャンバスの中心に線を描かないとずれてしまうけど、見た目にはわからない。
CLIP STUDIO PROでLINEのスタンプを作ってみたんだが、最終的にPNGファイルにする必要があり、
CLIP STUDIO PROには一括出力の機能がないので、UWSCでやらせてみた。
id=getid("CLIP STUDIO PAINT")
FOR i=1 to 20
//ファイル名作成
str = FORMAT(i, 2) // 2桁の文字列に変換
str = REPLACE(str, " ", "0")+".clip"
//PRINT str
//Fileを開く
sckey(id,VK_CTRL,VK_O)
SLEEP(1)
id2=getid("開く")
sendstr(id2,str)
sckey(id2,VK_ALT,VK_O)
SLEEP(1)
//画像を統合して書き出し
fukidasi( "画像を統合して書き出し" )
sckey(id,VK_ALT,VK_F) // ALT+F
KBD(VK_R) // R
KBD(VK_R) // R
KBD(VK_RIGHT) // →
KBD(VK_P) // P
SLEEP(1)
id2=getid("画像を統合して書き出し",,0.5)
sckey(id2,VK_ALT,VK_S) // ALT+S
SLEEP(1)
//上書き確認のダイアログ
fukidasi( "名前を付けて保存の確認")
id2=getid("名前を付けて保存の確認",,0.5)
IF id2>0 THEN sckey(id2,VK_Y) // Y
SLEEP(1)
KBD(VK_ENTER) // Enter
//書き出しプレビュー
fukidasi( "書き出しプレビュー")
id2=getid("書き出しプレビュー",,0.5)
IF id2>0 THEN KBD(VK_ENTER) // Enter
SLEEP(2)
//ファイルを閉じる
sckey(id,VK_ALT,VK_F)
SLEEP(1)
KBD(VK_C)
SLEEP(1)
NEXT
まあキー操作を真似てるだけなので、異常系には全く弱い。
キー入力をする時にsckeyを使ったりKBDを使ったりするのは、そうじゃないと動かなかったため。普通はsckeyだけで動くんですがね・・・。
動かした動画が下記の感じになります。
PCでちょっとした絵を書くことになり、流石にマウスやトラックボールだと使いづらいので何かないかと探したら、スマホをペンタブ化させるアプリがあるようだ。
下記のページがそれ。
VirtualTablet - SUNNYSIDESOFT http://www.sunnysidesoft.com/ja/virtualtablet/
紹介文より引用
VirtualTablet はスタイラスペン入力をサポートするタブレット機械 (サムスンスレート 7,アーティブ , MS SurfaceあるいはGalaxy Note など)から送信されたペン入力を無線に繋がっている PCに転送する事が出来るアプリケーションです。転送されたペン入力は PCで実際デジタイザを利用する時と同様に自由に絵を描いたり、書いたりする事ができます。
つまり、実際デジタイザーハードウェアを購入する必要なく、ユーザがペン入力をサポートしているタブレット機械をお持ちであれば、それを PCで仮想のデジタイザーとして認識する機能を持っています。
タブレットとPCをWiFiや Bluetoothを利用して簡単に無線に繋げる事ができます。 VirtualTabletサーバープログラムをPCに実行してタブレットデバイスでVirtualTabletアプリケーションを起動すると、高い価格の Wacom タブレット入力装置と変わらなく、利用できます。
使い方は簡単で、PC側にサーバーソフトとスマホ側にクライアントを入れるだけ。
もちろんワコムとかの専門デバイスと違って使い勝手は劣るだろうが、マウスしかない状態よりはずっといい。
弥生会計19にはSQLserver2014 Express 32bit版がバンドルされてて、通常の手順だとこれがインストールされる。
マシンも64bitだし最新のSQL Server 2017 Expressをインストールしてみた。
Microsoft SQL Server 2017 Express
公式ページには
YAYOI インスタンスの作成(SQL Server 2016) https://support.yayoi-kk.co.jp/faq_Subcontents.html?page_id=25316
弥生会計のインストーラだと下記オプションでインストールされるから
"D:\Runtime\MSSQL2014EESP2\SQLEXPR_x86_JPN.exe" /QS /ACTION=Install /FEATURES=SQLEngine /INSTALLSQLDATADIR="C:\Program Files (x86)\Microsoft SQL Server" /INSTANCENAME=YAYOI /SAPWD="Admin0123456789" /SECURITYMODE=SQL /TCPENABLED=1 /NPENABLED=1 /SQLSVCSTARTUPTYPE=Automatic /BROWSERSVCSTARTUPTYPE=Automatic /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="NT AUTHORITY\SYSTEM" /SQLCOLLATION=Japanese_CI_AS /HIDECONSOLE /IAcceptSQLServerLicenseTerms
MSから拾ってきたSQLServer2017-SSEI-Expr.exeを実行してダウンロードを選び、ダウンロードにSQLEXPR_x64_JPN.exeがきてるから、下記にオプションで起動。
C:\Users\admin>C:\Users\admin\Downloads\SQLEXPR_x64_JPN.exe /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=YAYOI /SAPWD="Admin0123456789" /SECURITYMODE=SQL /TCPENABLED=1 /NPENABLED=1 /SQLSVCSTARTUPTYPE=Automatic /BROWSERSVCSTARTUPTYPE=Automatic /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="NT AUTHORITY\SYSTEM" /SQLCOLLATION=Japanese_CI_AS /HIDECONSOLE /IAcceptSQLServerLicenseTerms
JScriptでWordPressの投稿してみました。
Windowsの標準機能でできます。不要なアプリは一切必要ありません。
// IE起動
var ie = WScript.CreateObject("InternetExplorer.Application");
// 投稿画面を開く
ie.Navigate( "http://www.xxxx.com/wp-admin/post-new.php" );
ie.Visible = true;
waitIE( ie );
// WSHのグローバルで参照を定義
$ = ie.document.parentWindow.$;
// 投稿画面
$("#title").val("ここにタイトル");
$("#content-html").click(); //テキストタブをクリック
$("#content").val("ここに記事を書きます")
$("#in-category-39").click(); //カテゴリーを選択
$("#publish").click() //公開ボタンを押す
// IEがビジー状態の間待ちます
function waitIE( ie ) {
while( ( ie.Busy ) || ( ie.readystate != 4 ) ) {
WScript.Sleep( 100 );
}
WScript.Sleep( 1000 )
}
フランスというのはテレビ放送に関しては日本より進んでて、ネットでライブ放送を見ることができる。
でもはやり権利とかの問題でフランス国外から視聴を制限していて、日本から見ようとすると。
こんな感じで弾かれる。
こんな場合はフランスにあるproxyを経由すれば見ることができる場合がある。
http://www.cybersyndrome.net/search.cgi?q=FR でproxyを検索して設定すると、
フランスの国営放送とatreは見えた。
フランスの国営放送のページのLes directsの行がチャンネル一覧で、一番右の「:」はCNNに対抗したニュース局になっていて、これだけは制限がかかってない。
IEの設定の「接続」-「LANの設定」で以下のように設定すれば、とりあえず見ることができる。
(注意:すべての通信をproxy経由にするのはセキュリティ上おすすめしません。この設定はあくまでもフランスのテレビを視聴するときのみ行ってください。通常のインターネット閲覧の場合は設定を元にもどしてください。
この設定はWindows全体にかかりますので、IE以外のブラウザをお使いの場合も通常のインターネット閲覧の場合は設定を元にもどしてください。)
実際はこんな感じになります。アドレスとポートを入れてください。
xx.xx.xx.xx:yyyy xx.xx.xx.xxがアドレス yyyyがポートです。
yyyyが8080か3128のが使える確率が高い。
でもこの設定だとすべてのHTTP通信がproxy経由になってしまうので、以下のようなpacファイルを作ってproxy経由にする通信を絞った。
(注意:以下の設定をする場合はhttpサーバーが必要です。)
france.pac
function FindProxyForURL(url, host) { //条件にある文字列を含むURLアクセス時はプロキシを使う、それ以外は直接接続 if ( url.indexOf("geoftv-a.akamaihd.net") >= 0 || url.indexOf("livefrancetv.akamaized.net") >= 0 || url.indexOf("geoloc.arte.tv") >= 0 || url.indexOf("artelive-lh.akamaihd.net") >= 0 ) { //プロキシサーバのアドレスを指定 return "PROXY 5.135.164.72:3128"; } else { return "DIRECT"; } }
このファイルをhttpサーバーに置いて設定すると
見えた!
ちなみにこの方法で見るのは最新のWindows10の場合、httpサーバーを建ててpacファイルをそこに置く必要があるのでちょっと敷居が高い。
以前はPC内に置いたpacファイルで良かったのだが、たぶんセキュリティの問題でこういう仕様になってしまった。
このネットで見えるてるのが本当にフランス国内で放送されてるのかは私には知るすべはないが、
下記のサイトの情報と照らし合わせると同じものを見ているようです。
現在放送中の番組 http://www.programme-tv.net/programme/en-ce-moment.html
フランスに旅行したときは観光に忙しくてテレビなんか見てる暇などないからな、日本いるとき暇つぶしに見てみよう。