一太郎 ふりがなマクロ 投稿サイト⇒一太郎
概略および注意事項
一太郎で使うマクロを公開します。
投稿サイト用のふりがな書式を一太郎のふりがなに変換します。
※小説家になろう様、アルファポリス様に対応。
※投稿サイト用のふりがな書式 とは、以下書式です。
|橘咲帆《たちばなさほ》
反対バージョンはこちら 一太郎 ふりがなマクロ 一太郎⇒投稿サイト
注意事項
このプログラム は、株式会社ジャストシステムから提供されたプログラムを利用して作成したものです。
ご自分の環境での改変等はご自由にして頂いて問題ございません。
当方にて貴方の使用目的に適合することの保証はできません。自己責任でお願いいたします。
プログラムの著作権は、株式会社ジャストシステムに帰属します。
よって、有償での再配布をすることはできません(無償ならば問題ないようです)。
マクロ実行の際は、必ずバックアップをした後に実行してください。
マクロコード
!!==============================================================================
!!【マクロ名】 ルビ変換:投稿サイト⇒一太郎
!!【見 出 し】 投稿サイト用ルビを検索し、一太郎ルビに変換する
!!【作 成 者】 Saho Tachibana
!!==============================================================================
!! このプログラムは、株式会社ジャストシステムから提供されたプログラム
!! を利用して作成したものです
!!******************************************************************************
!! (C)2020 橘花書房
!!******************************************************************************
!!******************************************************************************
!! 2022/10/16 v00.00 新規
!!******************************************************************************
!!******************************************************************************
!! エラー発生時の動作
!! Error ⇒中止
!! Cancel⇒中止
!! Search⇒中止しない
!!******************************************************************************
ErrorBreakMode(1,1,0)
!!******************************************************************************
!! 実行前確認
!!******************************************************************************
%tmpAry = {"Go","Cancel"}
%tmpPgm = "ルビ変換:投稿サイト⇒一太郎"
%tmpMsg = %tmpPgm & "を行います"
%tmpRep = Alert(%tmpMsg,1,{{%tmpAry(1),"Y"},{%tmpAry(2),"C"}})
select case %tmpRep
case nil
stop
case 2
stop
end select
!!******************************************************************************
!! マクロ実行中の経過を画面に表示しない
!!******************************************************************************
DisplayMode(0)
!!******************************************************************************
!! 位置確認
!!******************************************************************************
!! 編集画面タイプ待避
%tmpMode = GetEditingScreenType
!! 編集画面をドラフト表示に変更
if %tmpMode <> 2 then
EditingScreenType(2)
end if
!! 全範囲指定
SelectAll(.指定単位=1)
!! 現在指定されている範囲の始点および終点情報
%ra=GetRange()
!! 最終位置通番退避
$ra_End=100000000*%ra("終点ページ")+10000*%ra("終点行")+%ra("終点桁")
!! 範囲の左上へカーソルを移動
StartOfRange()
!!******************************************************************************
!! [|] がなくなるまで繰り返し
!!******************************************************************************
!! カウント初期化
$ct = 0
Do
!! [|] 検索 文書頭から あいまい検索なし
SearchString("|",3,0)
!! 検索なしの場合、ブレイク
if not SearchStringResult() then
Exit Do
end if
文字取得()
ふりがな設定()
ふりがな削除()
ふりがな開始文字削除()
!! カウントUP
$ct = $ct + 1
loop while SearchStringResult()
!! 編集画面タイプを戻す
EditingScreenType(.編集画面タイプ=%tmpMode)
!! 終了メッセージ
%tmpMsg = "変換件数 " & string($ct) & "件"
Message(%tmpMsg,1)
!!******************************************************************************
!! 文字列、ふりがな取得
!!******************************************************************************
sub 文字取得()
!! [|] 検索 文書頭から あいまい検索なし
SearchString("|",3,0)
!! 検索なしの場合、ブレイク
if not SearchStringResult() then
Exit Sub
end if
!! 文字開始位置へ字送り
NextCharacter(1)
!! パラメータ初期値
%sw01=True
$tmpText=""
$tmpRuby=""
$cntText=0
$cntRuby=0
!! [《] までループ
Do
!! 現在位置
%ra_Cur=100000000*GetPage()+10000*GetRow()+GetColumn()
If %ra_Cur>$ra_End then
!! 現在位置が文書末の場合、ループを抜ける
Exit Do
end If
if GetCharacter() = "《" then
!! 1字送り
NextCharacter(1)
!! [》] までループ
%sw02=True
Do
if GetCharacter() = "》" then
Exit Do
else
!! ふりがなおよび、ふりがな桁数追加
$tmpRuby = $tmpRuby & GetCharacter()
$cntRuby = $cntRuby + 1
!! 1字送り
NextCharacter(1)
End if
Loop While %sw02=True
!! 《》分の文字数をルビ文字数に足す
$cntRuby = $cntRuby + 2
%sw01=False
Exit Do
else
!! 文字列および、文字列桁数追加
$tmpText = $tmpText & GetCharacter()
$cntText = $cntText + 1
!! 1字送り
NextCharacter(1)
End if
Loop While %sw01=True
end sub
!!******************************************************************************
!! ふりがな設定
!!******************************************************************************
Sub ふりがな設定()
!! [|] 検索 文書頭から あいまい検索なし
SearchString("|",3,0)
!! 検索なしの場合、ブレイク
if not SearchStringResult() then
Exit Sub
end if
!! 文字開始位置へ字送り
NextCharacter(1)
!! 文字開始位置を退避
%tmpStaTP=GetPage()
%tmpStaTR=GetRow()
%tmpStaTC=GetColumn()
!! 文字位置範囲指定
jump(%tmpStaTP,%tmpStaTR,%tmpStaTC)
SelectRangeStart(1)
CursorRight($cntText)
!! 均等割付でふりがな追加
Ruby(1,$tmpRuby, 1)
End Sub
!!******************************************************************************
!! ふりがな削除
!!******************************************************************************
Sub ふりがな削除()
!! [|] 検索 文書頭から あいまい検索なし
SearchString("|",3,0)
!! 検索なしの場合、ブレイク
if not SearchStringResult() then
Exit Sub
end if
!! 1字送り
NextCharacter(1)
!! [《] までループ
%sw01=True
Do
!! 現在位置
%ra_Cur=100000000*GetPage()+10000*GetRow()+GetColumn()
If %ra_Cur>$ra_End then
!! 現在位置が文書末の場合、ループを抜ける
Exit Do
end If
if GetCharacter() = "《" then
%sw01=False
Exit Do
else
!! 1字送り
NextCharacter(1)
End if
Loop While %sw01=True
!! [《] 位置を退避
%tmpStaRP=GetPage()
%tmpStaRR=GetRow()
%tmpStaRC=GetColumn()
!! 全範囲解除
CancelAllRange()
!! 《》で囲まれた投稿サイト用ルビを範囲指定
jump(%tmpStaRP,%tmpStaRR,%tmpStaRC)
SelectRangeStart(1)
CursorRight($cntRuby)
!! 《》で囲まれた投稿サイト用ルビを削除
Delete(1)
End Sub
!!******************************************************************************
!! ふりがな開始文字削除
!!******************************************************************************
Sub ふりがな開始文字削除()
!! [|] 検索 文書頭から あいまい検索なし
SearchString("|",3,0)
if GetCharacter() = "|" then
!! [|] 削除
Delete(1)
Exit Sub
End if
End Sub
!!******************************************************************************
!!以下は 株式会社ジャストシステム 作成のツールより引用
!!******************************************************************************
!!******************************************************************************
!! *************Attention************
!!お客様は、このマクロサンプルプログラムを現状のままで、もしくは改変した
!!プログラムを第三者に配布することができます。
!!
!!ただし、このプログラムは株式会社ジャストシステムが作成したものであり、
!!このプログラムの著作権は、株式会社ジャストシステムに帰属します。
!!従いまして、以下の条件に同意、遵守していただいた上でご利用下さいますよ
!!うお願いいたします。
!!
!!①このプログラム及びお客様が改変したプログラムを配布する場合は、無償に
!! て行って下さい。
!!
!!②お客様が改変したプログラムは、お客様と株式会社ジャストシステムの共同
!! の著作物となります。従って、改変したプログラムの冒頭には、以下の表示
!! を行って下さい。
!! 「このプログラムは、株式会社ジャストシステムから提供されたプログラム
!! を利用して作成したものです。」
!!
!!③お客様が改変したプログラムに関するお問い合わせには、弊社は一切お答え
!! いたしません。
!!
!!④弊社は、このプログラムがお客様の使用目的に適合することの保証は行いま
!! せん。このプログラムの使用結果につきましては、お客様の責任とさせてい
!! ただきます。
!!******************************************************************************