#日本弁護士連合会に対する事前連絡 ## 本件刑事告発・非常上告事件の書面作成を作業するメインのパソコン環境、Windows11で整えた準備完了のお知らせ

:CATEGORIES: @kanazawabengosi #金沢弁護士会 @JFBAsns 日本弁護士連合会(日弁連) #法務省 @MOJ_HOUMU #お知らせ

- [ ] 編集中
- [x] ブログ投稿済み
- [ ] 印刷済

〉〉〉 Linux Emacs: 2022/02/08 10:09:50 〉〉〉

- 【 last 】コマンド――システムのログイン履歴を一覧表示する:Linux基本コマンドTips(291) - @IT https://t.co/sYzJKR6eNo

 上記のlastコマンドを使って確認したところ、本日のログインが「Tue Feb 8 07:01 still logged in」で、前回のログインが「Thu Feb 3 14:52 - down (14:45)」となっていました。

 その前回が2月3日の14時52分のログインでログアウトするまでの時間が14時間45分という意味のようです。端末のログインが「14:54 - 05:37」とあるので、2月4日の午前5時37分にシャットダウンでログアウトしたようです。

 今日が2月8日なので2月4日は4日前ですが、この間、Windows11のパソコンで作業環境を整えるための取り組みを集中してやっていました。今回も予想より手こずり手間取ったのですが、課題としたミッションをクリアすることができました。

 ワープロソフトで一太郎2019を使うか、Office365のWordを使うかでずいぶん迷ったのですが、一太郎で文章の作成を行い、一太郎プロンプトからエクスポートしたWord形式のファイルで、VBAを使ったその後の処理を行うことにしました。

 まず最初に取り掛かったのが一太郎からツイートすることでした。これまで何度か挑戦しできなかったことですが、たまたま見つけた小さい情報をもとに試行錯誤を行ったところ、pythonのスクリプトの実行に成功しました。

 一太郎マクロの関数のリファレンスにも見当たらない関数で、引数の渡し方を色々試し、渡した引数が半角スペースで区切られた配列になっていたので、それを文字列に変換する処理を加えました。

 当初は、カーソルのある段落のテキストを一時ファイルに書き出し、呼び出すpythonのスクリプトでテキストを読み込む処理をするつもりだったのですが、どれだけ探しても変数の値をファイルに書き込む方法が見つかりませんでした。

 一太郎のマクロ関数はずいぶんな数あるのですが、単体での関数の説明ぐらいしか情報は見つかりませんでした。自動化したい処理があったので、簡単にエクスポートできるWord形式のファイルで、VBAを使うことにしました。

 マニュアルが充実していると思っていたVBAですが、ヘルプがホームページへのリンクになっていて、これがずいぶんと乏しい情報でした。VBAもExcelの情報は多いのですが、Wordとなると少なく、金沢の大型書店でも1冊しか置いてありませんでした。

 2,3年前の春に買ったという記憶ですが、今までほとんど開くこともなかった本を開き、これがずいぶんと役立ち断片的な情報をつなぎながら解決に向かうことができました。

 次の2つのVBAの関数というのかSubプロシージャを作成しました。見出しの一覧をファイルに書き出す処理は前に作成していたのですが、カーソル位置の上位の見出しをレベル1からレベル3までつないだ文字列を取得しています。

Sub ブログ記事用のタイトルを見出しから取得()
Call 一太郎のスタイルをWordに変更
Dim s As Long
s = Selection.Start
Dim e As Long
e = Selection.End
Dim lv1 As String
Dim lv2 As String
Dim lv3 As String
lv1 = ""
lv2 = ""
lv3 = ""

Selection.Move wdParagraph, -1
Dim str As Paragraph
par = ActiveDocument.Paragraphs(1).OutlineLevel

Dim rng As Range
Set rng = ActiveDocument.Range(0, s)

For Each par In rng.Paragraphs
' title = Replace(par.Range.Text, vbCr, "")

If par.OutlineLevel = 1 Then
lv1 = Replace(par.Range.Text, vbCr, "")
End If

If par.OutlineLevel = 2 Then
lv2 = Replace(par.Range.Text, vbCr, "")
End If

If par.OutlineLevel = 3 Then
lv3 = Replace(par.Range.Text, vbCr, "")
End If
Next par

ActiveDocument.Range(s, e).Select
Debug.Print lv1 & "/" & lv2 & "/" & lv3

End Sub

 OutlineLevelはプロパティ値で、見出しのレベルが取得できるのですが、一太郎からエクスポートしたWord形式のファイルだと、スタイル名が別のものとなり、取得ができず、それで次にスタイル名を変更する関数の作成に取り掛かりました。

 これも意外なほど情報が乏しかったのですが、1つ見つけた情報を参考に、プロパティ値の内容を確認するなどやりながら試行錯誤をしたところ、ずいぶん簡単にできることがわかりました。

Public Sub 一太郎のスタイルをWordに変更()

For Each par In ActiveDocument.Paragraphs
Select Case par.Style
Case "大見出し(オートスタイル)"
'MsgBox par.Style
par.Style = "見出し 1"
Case "中見出し(オートスタイル)"
'MsgBox par.Style
par.Style = "見出し 2"
Case "小見出し(オートスタイル)"
'MsgBox par.Style
par.Style = "見出し 3"
End Select
Next par

End Sub

 時刻は18時10分になったところです。これまでに大きな発見が2つあったのですが、モトケンこと矢部善朗弁護士(京都弁護士会)のツイートと郷原信郎弁護士の音声配信になります。ラジオのようでした。

〈〈〈 2022/02/08 18:12:30 Linux Emacs: 〈〈〈

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です