- ベストアンサー
テキストを以下の書式に変換する方法を教えてください
http://www.avanz.co.jp/kobo/kitei.html 上記の公募に応募したいのですが、うまく上記の求めているような書式に変換できるようなソフトはないでしょうか? (14文字×10文字で1ページとして区切りをつける書式) または ワード、秀丸で、上記のような変換はできるでしょうか? お教えいただきたくお願い申し上げます。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
おはようございます。#5です。 > 簡単にマクロの使い方がわかるサイトなどご存知ではないでしょうか? Google等で「ワードVBA」をキーに検索してみると、最初のほうに次のようなサイトが ありました。 http://www.aa.alpha-net.ne.jp/pcfriend/word/wordHeader.htm ほかにもたくさんヒットしますので、ご自分で検索してみてください。 前回のマクロは次の操作で実行します。 1.様式変換したいWord文書を開きます。 2.[Alt] を押しながら [F11] を押して Visual Basic Editor の画面を表示します。 ・メニューの [ツール] から [マクロ]-[Visual Basic Editor] と辿っても同じ。 3.表示画面の左側にあるツリーの中で、「Project (XXXXX)」を選択してから、 [挿入] -[標準モジュール] を開きます。 ・Project (XXXXX) の "XXXXX" の部分は、いま編集中の文書名です。 4.右半分の白い部分に前回のマクロをコピペして、Visual Basic Editor を閉じます。 5.メニューの [ツール] から [マクロ]-[マクロ] と辿り、マクロダイアログボックスで 目的のマクロ名(Test)を選択して [実行] します。 ・マクロ名が表示されていない場合は、ダイアログボックス内の「マクロの保存先」 から、開いている文書名を選択してください。
その他の回答 (5)
- misatoanna
- ベストアンサー率58% (528/896)
とりあえずのWord用マクロです。 思いつくまま継ぎ足し継ぎ足し記述したものですのでスマートな内容ではありませんし、 テスト不足で実行結果について自信はありませんが、 「10行以内の最終読点(その行内に複数ある場合は最初の読点)で改行し、さ らに2行の 空行をつくる」 という簡単なものです。 でも、プログラムで判断できるのはこの程度ではないでしょうか。 一応作成してみましたが、実行結果を見て「あ、これはひとつ前の読点でページ替えした ほうがよい」となったとき、以降の編集が大変です。 用紙や文字のサイズ、余白設定など好みがありますからページ設定はあえてプログラム内 に取り入れていませんので、実行前に文章内のフォントを同サイズの等幅フォントにし、 1行14文字にページ設定をしておく必要があります。 Sub Test() Dim L1, L2, T, P, i Selection.EndKey Unit:=wdLine Selection.EndKey Unit:=wdStory Selection.MoveLeft Unit:=wdCharacter, Count:=2 ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="E" Selection.HomeKey Unit:=wdStory ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="K0" T = 0 L1 = 0 Do Until Selection.Range.Bookmarks.Exists("E") Selection.MoveRight Unit:=wdCharacter, Count:=1 If Selection.Characters.Parent = "。" Then T = T + 1 Selection.MoveRight Unit:=wdCharacter, Count:=1 ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="K" & T L2 = ActiveDocument.Range(0, Selection.Start) _ .ComputeStatistics(wdStatisticLines) If L2 - L1 < 11 Then ActiveDocument.Bookmarks("K" & T - 1).Delete GoTo NXT End If Selection.GoTo What:=wdGoToBookmark, Name:="K" & T - 1 Select Case Asc(Selection) Case Is = 11, 12, 13, 14 P = 2 Case Else P = 3 End Select For i = 1 To P Selection.TypeParagraph Next L1 = ActiveDocument.Range(0, Selection.Start) _ .ComputeStatistics(wdStatisticLines) ActiveDocument.Bookmarks("K" & T - 1).Delete End If NXT: Loop ActiveDocument.Bookmarks("K" & T).Delete ActiveDocument.Bookmarks("E").Delete End Sub
- tatsu01
- ベストアンサー率18% (292/1540)
先程も回答したように、句点が どこに来るかは文章次第ですよ ね。 今、3行目で「。」がきました 。 上の文は、14文字に収まらず 「。」が改行されてしまいまし た。 上の分までで、8行です。どの 「。」で改ページ処理を、する ようにしますか? 9行目の「。」もしくは10行 目の「、」で改ページするのが 自然ですよね。 この判断はプログラムでは、 無理です。ワープロの漢字変換 より難しい処理です。 本を読んでいても、話の流れが 変わる時は、改ページします。 どこで改ページ(行)するかと いうのも、書く側のテクニック だと思います。 ちなみに、この文は、 MIFESという、プログラム の、ソースを書くエディタ?で 書いています。 行数や文字数が逐次表示されま す。変換はしませんが数えるの は、楽です。
- crepon133
- ベストアンサー率51% (399/776)
手作業で空行挿入をするしかないと思いますよ でも、専門家ならマクロを組んで変換してしまうのかな? テキスト形式にはページという概念がないので 空白の行が2行あったらページ替わりになるって判断されるんでしょうね
- tatsu01
- ベストアンサー率18% (292/1540)
>10行目までに句点が入り、ページが終わるように区切りたいのです。 これは、文章を書く作者(maruhaseさん)の仕事です。 どこに句点が入るかなんて、文章しだいです。 普通に書き連ねた文章を、機械的に区切ったあとで、収まりがいいように編集する。 又は、最初から14文字x10行で収まるような文に推敲していく。
補足
そういう意味ではないのです。 たとえば8行目までの文章で「。」がくる。 次の文章は11行目に「。」がくる。 という場合に、自動的に8行目の文章までで、1ページ分になる(つまり2行分の空白行が9行目から追加される)ページ作成を行いたいわけです。
- aifato
- ベストアンサー率23% (3/13)
ワードのメニューで設定できます。 [ファイル]→[ページ設定]を開き、 文字数と行数の指定のところで「文字数と行数を指定する」の欄にチェックを入れ、 その下の文字数と行数にそれぞれ14と10を入れればできます。 お試しください。
補足
申し訳ありませんが、勘違いなさっています。 ただ単に10行ごとにしたいのではなく、10行目までに句点が入り、ページが終わるように区切りたいのです。
補足
ご丁寧にプログラムまで作っていただきまことにありがとうございます。 ところで、私はマクロを使ったことがないのですが、簡単にマクロの使い方がわかるサイトなどご存知ではないでしょうか?