コメント履歴から結合用xmlファイルを疑似的に作ってみる(放送主限定)
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

コメント履歴から結合用xmlファイルを疑似的に作ってみる(放送主限定)

2020-09-19 00:53
    個人用メモ(説明適当&Excelよくわからない&面倒なので最低限動けばいい人向け)

    ・使いどころ・・・公式機能で生放送DLだけしてタイムシフト視聴期限が切れたとき
    ・使うソフト・・・Excel

    ・目標・・・以下の内容のファイルを作る(いろいろ削ったけどもっと簡略化できるかも)
    <packet>
    <thread server_time="0" />
    <chat thread="0" premium="3" vpos="900" no="3">あ</chat>
    <chat thread="0" premium="1" vpos="1100" no="4">い</chat>
    </packet>

    ・詳細(よくわかってない)
    thread server_time ・・ないと動かない
    chat thread="0" ・・ないと動かない
    premium="3" ・・1なら通常コメ、3なら主コメ
    vpos="900" ・・放送開始からの秒数*0.01(この場合9秒)
    no="3" コメント番号(なくてもよい)

    ・やり方(セルの位置などは自由に変えてください)
    1.放送のコメント一覧(https://live.nicovideo.jp/comments?v=lv○○)をExcelにコピー
    2.A列のセルの数値の書式設定を「その他の表示形式」→「ユーザー定義」から「yyyy/mm/dd hh:mm:ss」にする
    3.D列に「=((A1 - 25569) * 86400) - 32400」を入力(A1は行によって変わる)(数値:標準)
    4.放送開始日時(UNIX時間)を調べてE列に入力(調べ方は後で書きます)(数値:標準)
    5.F列に「=ROUND((D1-E1),0)*100」を入力(D1,E1は行によって変わる)(数値:標準)

    ここまでこんな感じになるはず


    6.H1~H6に「<thread server_time="0" />」「<chat thread="0" premium="1" vpos="」「" no="」「">」「</chat>」「<chat thread="0" premium="3" vpos="」を入力(分かればどこでもいい、もっといい方法ある)


    7.VisualBasicを起動して以下のコードを入力して実行(適当なので参考程度にお願いします)
    (赤文字重要,緑文字説明)
    ーーーーーーーーーーーーーーーーーーーー
    Public Sub TextOutput()
    Dim i As Integer
    Dim csvData As String
    'ファイルを書き込みで開く(無ければ新規作成される、あれば上書き)
    Open "C:\tmp\test.txt" For Output As #1 '保存場所は任意に書き換える
    csvData = ""
    Print #1, "<packet>"
    Print #1, Cells(1, 8).Value '開いたファイルに書き込む
    For i = 1 To 11 'ここを行数に書き換える
    csvData = ""
    If Cells(i, 2).Font.Color <= 1 Then '通常コメント
    csvData = Cells(2, 8).Value & Cells(i, 6).Value & Cells(3, 8).Value & Cells(i, 3).Value & Cells(4, 8).Value & Cells(i, 2).Value & Cells(5, 8).Value
    ElseIf Cells(i, 2).Font.Color >= 40 Then '主コメント
    csvData = Cells(6, 8).Value & Cells(i, 6).Value & Cells(3, 8).Value & Cells(i, 3).Value & Cells(4, 8).Value & Cells(i, 2).Value & Cells(5, 8).Value
    End If
    If Cells(i, 2).Value <> "このコメントは表示されません" Then 'NGコメント
    Print #1, csvData
    End If
    Next
    '開いたファイルを閉じる
    Print #1, "</packet>"
    Close #1
    '確認用メッセージ
    MsgBox "完了!"
    End Sub
    ーーーーーーーーーーーーーーーーーーーー
    (メモ:Cells(i, 2).Value・・i行目2列目のセルの文字列)
    8.test.txtが作られるので1度開いて「名前を付けて保存」から文字コードをUTF-8に変更して保存
    9.拡張子を.xmlに変更

    これで多分いける
    結合方法については他の方の記事を参考にしてください。


    ・注意
    特定の文字が入ってると変換時にエラーが起きるので適宜変更してください(<>!等)
    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。