ユーザーボックス | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ZeroP(ゼロップ)です。昔LISPをやっていてその関数名からつけてみました。読み方が違う?気にしない。
カラオケ動画の作成や若干のオリ曲の作成を行っています。最近は大百科の編集にはまっている。
音楽
新規作成した記事は以下のような感じです。リダイレクト表示は作成時の状態です。太字は自分のお気に入りです。
単語記事
INDEX/あいまい回避(作成時)アニメ
|
医学
音楽経済 |
言語声優その他 |
動画記事
商品記事
素材
地図記号(正方形が並んでます)
その他
その他のお絵カキコ
1から描いた、もしくは元が自分
元がある
ピコカキコ
ピコカキコ | タイトル | 場所 | 備考 |
---|---|---|---|
なんつってつちゃった | ゆゆ式 | はじめてのピコカキコ | |
100BPM | 心肺蘇生法 | 100BPMは大事です | |
時報 | 時報 | 簡単そうだったから | |
キラキラ星 | ピコカキコ:基礎コース(1級) | 本格的にはじめるにあたっての練習 | |
こんな目覚ましは嫌だ | 時計 | 目覚ましの音を元に作成 |
掲示板からお絵カキコ部分を抜き出して抽出するEXCELのマクロです。縦も横も128を越えないように調整します。
- 抽出例
<img title="1111:中央" alt="中央" src="/oekaki/216029.png" width=60 height=30 />
…
Option Explicit 'OutFile$:(IN):出力ファイル名(C:\TMP\a.txt等) 'BaseURL$:(IN):掲示板のURLで最後の/1-を除いたもの(https://dic.nicovideo.jp/b/a/c等) 'ST:(IN):抽出開始RES番号 'EN:(IN):抽出終了RES番号
Sub ExtractPic(OutFile$, BaseURL$, ST As Long, EN As Long) ' ここを呼ぶ Dim I30 As Long Dim S30 As Long Dim E30 As Long Dim FN As Long FN = FreeFile() S30 = Int((ST - 1) / 30) * 30 + 1 E30 = Int((EN - 1) / 30) * 30 + 1 Open OutFile$ For Output As #FN For I30 = S30 To E30 Step 30 ExtractPicSub FN, BaseURL$ + "/" + Format(I30) + "/-", ST, EN Next Close #FN End Sub Sub ExtractPicSub(FN As Long, URL$, ST As Long, EN As Long) Dim I As Long Dim J As Long Dim objXML As New MSHTML.HTMLDocument Dim htmlDoc As New MSHTML.HTMLDocument Dim objITEM1 As Object Dim objITEM2 As Object Dim objITEM3 As Object Dim W$ Dim ID$, TITLE$ Dim ResNo Dim WI As Long, HI As Long Dim NH As Long Dim NW As Long Dim NHW As Long Const MAXH As Long = 128 '最大の高さ Const MAXW As Long = 128 '最大の幅 Set htmlDoc = objXML.createDocumentFromUrl(URL$, vbNullString) Call untilReady(htmlDoc) For Each objITEM1 In htmlDoc.getElementsByTagName("DL") For Each objITEM2 In objITEM1.all If objITEM2.nodeName = "A" Then If objITEM2.Name <> "" Then ResNo = Val(objITEM2.Name) End If ElseIf objITEM2.nodeName = "DD" Then For Each objITEM3 In objITEM2.all If objITEM3.nodeName = "DIV" Then W$ = objITEM2.innerText I = InStrRev(W$, "タイトル:") ID$ = objITEM3.ID If I > 0 Then I = I + 5 J = InStr(I, W$, vbCr) If J > 0 Then TITLE$ = Mid$(W$, I, J - I) End If End If End If Next ElseIf objITEM2.nodeName = "IMG" Then If ST <= ResNo And ResNo <= EN Then 'WI$ = objITEM2.Width なぜかこれだと0になる 'HI$ = objITEM2.Height なぜかこれだと0になる W$ = objITEM2.outerHTML I = InStrRev(W$, "height=") If I > 0 Then HI = Val(Mid$(W$, I + 7)) I = InStrRev(W$, "width=") If I > 0 Then WI = Val(Mid$(W$, I + 6)) If HI > MAXH Then NH = -Int(-HI / MAXH) Else NH = 1 End If If WI > MAXW Then NW = -Int(-WI / MAXW) Else NW = 1 End If If NH > NW Then NHW = NH Else NHW = NW End If Print #1, "<img title="""; Format(ResNo); ":"; TITLE$; """"; _ " alt="""; TITLE$; """"; _ " src=""/oekaki/"; Mid$(ID$, 7); ".png"""; Print #1, " width="; Format(Int(WI / NHW)); " height="; Format(Int(HI / NHW)); " />" Else End If Else End If End If End If Next Next Set objITEM1 = Nothing Set objITEM2 = Nothing Set objITEM3 = Nothing Set htmlDoc = Nothing Set objXML = Nothing End Sub Sub untilReady(htmlDoc As MSHTML.HTMLDocument, Optional ByVal WaitTime As Integer = 10) Dim starttime As Date starttime = Now() Do Until htmlDoc.ReadyState = "complete" DoEvents If Now() > DateAdd("S", WaitTime, starttime) Then Exit Do End If Loop DoEvents End Sub
ニコニコ大百科 #nextnicopedia ライトニングトーク
発表:ZeroP(ぜろっぷ)/ひろや
ニコニコ大百科(以下大百科)でwikipediaやアンサイクロペディアと同じことをやっていても仕方がない。
大百科の良さ
私の考える大百科
- wikiの様な堅苦しさよりニコニコ動画の様な面白さのほうが優先される
- ソースはあるにこしたことはないが,ある程度予想できる未来のことを書いてもよいのでは→3Dプリンタ
- 医学や薬は専門外だが自分が興味深い事象があれば(ニコニコ大百科:医学記事一覧のテンプレ使いつつ)書く→心肺蘇生法
- 「えっ! そうだったの?」的なことは積極的に書く→ら抜き言葉
- 流行りそうなことを流行るよりも前に書くのが醍醐味→西明日香
まとめ
- 4
- 0pt