ホームページからコピーしてきたテキストを自動改行させたい

某社にてホームページからコピーしたテキストを、ある法則にしたがって改行する編集作業を行っています。
しかしその内容がかなり多く、改行を行うだけの作業に20分もかかってしまいます。そこでマクロにて何とか編集できないものかと考えております。

改行ルール
・半角60文字(全角30文字)で改行したい
 →例外:改行した際に、次の文頭に記号が来る場合は改行せず、61文字目(全角なら31文字目)で改行する
   例:、。や、」のような〆記号。小文字(っ、ぁ等)
・上記のルールでも、冒頭分は必ず60文字以上にする必要があるため、60文字を超えたら「)」←この記号で改行するようにしたい

当方マクロに限らず、プログラミングについては初心者です。
自分なりに探してみて、60文字での改行についてはなんとか作れましたが、記号が来た場合のIFの使い方が、まったく検討が付きません。
もし上記のマクロができましたら、命令文について簡単な解説がいただけるとありがたいです。

以上、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

貼り付けた先のソフトは何なのか。

一番大切なことが書いてない。
エクセルかワードかその他か。
ワードならプログラムで扱うのは、直ぐは無理でしょう。情報が少ない。
エクセルでも、文章の形の(内容と絡んだ)取り扱いは難しい。
自分で、IF文を羅列して、ルールを盛り込まざるを得ない泥臭いコードとなろう。
ーー
出てきている語句
文字数を数えるコード
文頭
記号
改行
全角
小文字(文頭以下は、判別するコードの書き方や関数の書き方)
など簡単に日本語で使ってますが、判別する関数も十分になく、一文字ずつ判別が必要だったりして、簡単ではない。
Googleででも、「記号 VBA」「記号 VBA 判別」などで照会してみること。よいのが無いが、基礎的なことで
http://www.geocities.jp/cbc_vbnet/function/mojir …
を参考に。
===
自分は出来ないから、「プログラムを作ってくれ」は、本コーナーの規約違反のはず。自分で努力してください。初心者に適した課題では無いと思うが。
ーーー
>冒頭分は必ず60文字以上にする必要があるため
何の冒頭か。文章なら1つしかないかも。
章の冒頭だとしたら、どうして判別するのか。
自分だけが、わかっていることは無いか、読者側のことを考えて質問文を書くこと。
この訓練が、プログラム作成にも役立つと思う。
    • good
    • 0

ワードを使えば、禁則処理でできると思います。



(1)テキストをワードに貼り付ける。
(2)ページ設定で文字数を30文字に設定する。
(3)名前を付けて保存
(4)ファイルの種類を「書式なし」に
(5)「改行の挿入」にチェック
(6)OK
    • good
    • 0

先に貼付け先がWordなのかExcelかそれ以外かを書かないと答える方が困ると思います。

    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qテキストのリンク文字にカーソルを載せると横のアイコンが変わる

QNo.3262833で質問した物です。的確な回答をもらったのですが別の疑問が出てきたので、もう一度質問し直した方がいいと思い質問します。
前の質問でアイコンのGIF画像を適当な形にくりぬいて透明にすることで、A:hoverで背景色を指定するだけでアイコンの色を変えれる事がわかりました。
この方法を使って、テキストのリンク文字にカーソルを乗せると、テキストの左にあるアイコンの色を変化させる、というのはできますか?
前の質問で教えてもらったリンク先のものはテキストの背景自体が変わるので、アイコンだけ変えようとするとアイコンにリンクをつけなければいけなくなり、テキストにリンクをつけることができません。テキストとアイコンにリンクをつけるとテキストの背景にも色が付いてしまいます。
何か方法はありますか?よろしくお願いします。

Aベストアンサー

下記の補足回答です。

>class属性に設定した場合のCSSの記述方法を詳しく教えていただけませんか?
divタグでくくるのが一番簡単かと思います。

====CSSファイルの記述===========================
.menu a:link,
.menu a:visited{
padding-left:20px;
background:url('image/off.gif') no-repeat 0% 50% #ffffff;}

.menu a:hover,.menu a:active{
padding-left:20px;
background:url('image/on.gif') no-repeat 0% 50% #ffffff;}

====HTMLファイルの記述==========================
<div class="menu">
 <a href="test.html">テキストリンクテスト</a>
 <a href="test2.html">テキストリンクテスト2</a>
</div>
================================================

もし、リスト形式でリンクテキストを並べるのであれば
<ul><li>タグの使用をおすすめします。

====HTMLファイルの記述==========================
<ul class="menu">
 <li><a href="test.html">テキストリンクテスト</a></li>
 <li><a href="test2.html">テキストリンクテスト2</a></li>
</ul>
====CSSファイルに追記===========================
ul.menu li{list-style:none;}
※自動的に「・」が先頭に表示されるので非表示の設定にします。
================================================

a:link,a:visitedとa:hover,a:activeの設定は
色々なブラウザがありますので
念のため設定しておいたほうが良いかと思います。
あと、javascriptは使用しなくてOKですよ。

解決すると良いのですが…!

下記の補足回答です。

>class属性に設定した場合のCSSの記述方法を詳しく教えていただけませんか?
divタグでくくるのが一番簡単かと思います。

====CSSファイルの記述===========================
.menu a:link,
.menu a:visited{
padding-left:20px;
background:url('image/off.gif') no-repeat 0% 50% #ffffff;}

.menu a:hover,.menu a:active{
padding-left:20px;
background:url('image/on.gif') no-repeat 0% 50% #ffffff;}

====HTMLファイルの記述==========================
<div cla...続きを読む

Qマクロでセルに入力した数値をテキストファイルに出力したい。

お世話になっております。
早速ですが質問です。

マクロを作成しています。
エクセルのシートの50項目のセルに数値を入力していき、
シート上の置いたボタンを押すことで、入力された数値を
テキスト形式で出力したいと思っております。
なにぶん初心者のためか、いい知恵が浮かびません。

例えば、どのような記述方法があるか。
お力をお貸しください。

Aベストアンサー

Wendy02です。

私は、こちら側でつまらない書き方をしてしまったので、次が続けにくくなったかもしれません。

次の質問と同じ内容だとは思ったので、No.3144044 側に書いてしまいいましたが、こちらはコンマ区切りで、もうひとつ側が、タブ区切りでしたから、両方とも出来るように、オプションで入れられるように作りました。
Sub Text_OutPut()のコードの中で、

Delim = vbTab 'デリミタ

の部分に、"," を入れていただければ、こちらに対応できるものと信じています。

Qテキストやアイコンの大きさについて

教えてください。
自分が使っているのは、ウィンドウズ7、IEです。

アイコンやなどの大きさをそのままに、テキストエディタ等の文字を小さくしたいのですが、どうすれば良いでしょうか。 具体的には「文字の大きさ」を150パーセントの値にしたまま、テキストエディタの文字を小さくしたいのです。

文字の大きさの変更で、150%にするとアイコンはちょうどよいのですがテキストエディタの文字が大きすぎになってしまいます。
そうかともう一つ下の値にしてみると、テキストはちょうどよいくらいなのですが、アイコンやそれ以外の文字などが小さくなりすぎるのです。アイコンだけなら変更もできますが、テキスト外の文字が小さすぎて疲れるくらいです。

どなたかわかる方がいらっしゃったら、よろしくお願いします。

Aベストアンサー

「カスタム テキスト サイズの設定」
画面上のテキストを大きくまたは小さくする
http://windows.microsoft.com/ja-JP/windows7/Make-the-text-on-your-screen-larger-or-smaller

Qマクロで文字の移動

Dim x As Integer
x = ActiveSheet.UsedRange.Columns.Count + 1
Cells(1, x) = Cells(2, 1).Value
Cells(2, 1).ClearContents
End Sub

一部しか載せてないので変かもしれませんが、このようなマクロを作ってA2の文字列を移動したいのですが消えてしまいます。
A2の文字は消しつつ移動先では表示させるにはどうしたらよいですか?

Aベストアンサー

>x = ActiveSheet.UsedRange.Columns.Count + 1
これでは、うまくないと思います。
なぜ、UsedRangeを使ったのか、分かりません。

コードが意味している内容は分かりませんが、例えば、以下のようにしてみたら、いかがでしょうか?

Sub test_1()
Dim x As Integer
With ActiveSheet
If WorksheetFunction.CountA(.Cells(1, 256)) = 0 Then
 x = .Cells(1, 256).End(xlToLeft).Column
 .Cells(1, x + 1).Value = .Cells(2, 1).Value
 .Cells(2, 1).ClearContents
End If
End With
End Sub

QXPでアイコンのテキスト色は変えられますか?

デスクトップの背景色との兼ね合いで、アイコンのテキスト文字が読みにくい場合があります。
98の時にはそれに合わせて見やすい文字の色に変更できたのですが、
XPで、それに相当する項目が見当たりません。
XPではアイコンのテキスト色は変更できないのでしょうか?
よろしくおねがいします。

Aベストアンサー

アイコンのテキスト(アイコンの下の名前)ですね。
XP単独では、変更出来ませんでした。<m(__)m>

でも、ソフト(フリー、シェア)共にあります。
フリーなら、

デスクトップアイコンの文字色を変える
http://www.csdinc.co.jp/freesoft/dtopcolor.html
から ダウンロード出来ます。
【対応 機種】 Windows 95/98/NT4
ですが、XPでも使用出来ます。(テスト済み)
以下は、抜粋です。参考に
デスクトップのアイコンに付けられた説明の文字は、バックはデスクトップの色と
同じになりますが、文字は自動的に決まってるようです(バックが黒っぽいと白
文字、白っぽいバックの場合は黒文字)。
このソフトで、バックと文字色を標準の色とは違うものに変更する事が出来ます。
また、おまけ(と言うかこっちがメイン ^^)としてバックを透け透けに設定する
事も出来ます。きれいな壁紙を貼ってる場合は、これですっきりするでしょう(^^;/

ただし、「画面のプロパティ」で「デザイン」を変更した場合や、何かのタイミング
で元の設定に戻る事があります。また、Windows95 の起動時には元に戻ってますので
このソフトをスタートアップに czDTopColor.exe -set のように登録しておいて
ください。

シェアウェア版「ですくとっぷ!ギズモ」には、変更された場合でも自動的に設定
する機能が入ってます。文字色等の設定は、このソフトと共通です。
また「ですくとっぷ!ギズモ」には、デスクトップのアイコン配置を固定化する
機能や、ワイパー機能などもあります。ぜひ、お試しを(^^;;
「ですくとっぷ!ギズモ」は、NIFTY FWINAC LIB 8 の他、小社のホームページ
http://www.csdinc.co.jp/
から入手出来ます。
とのことです。

アイコンのテキスト(アイコンの下の名前)ですね。
XP単独では、変更出来ませんでした。<m(__)m>

でも、ソフト(フリー、シェア)共にあります。
フリーなら、

デスクトップアイコンの文字色を変える
http://www.csdinc.co.jp/freesoft/dtopcolor.html
から ダウンロード出来ます。
【対応 機種】 Windows 95/98/NT4
ですが、XPでも使用出来ます。(テスト済み)
以下は、抜粋です。参考に
デスクトップのアイコンに付けられた説明の文字は、バックはデスクトップの色と
同じになりますが、文字...続きを読む

Qテキストボックスの文字が印刷されない

用紙ははがき設定、オブジェクトにはチェク済みの条件でテキストボックスで作成した文字だけが、はがきに印刷されませんでした。A4には印刷できたのですがどうしてでしょうか教えてください。

Aベストアンサー

【ツール】→【オプション】
オプションダイヤログボックスの「印刷」のタブ
同時に印刷する項目のオブジェクトのチェックは入ってる状態なんですね。

A4の用紙では印刷できたのに、はがきには印刷できなかったということは・・・。

Wordの用紙設定は、はがきになっていますか?
はがきサイズの範囲外にテキストボックスが配置されているのかなぁとふと思いましたが??

もう少し補足を入れられたら、解決できるかもです。

Qアイコン表示のテキストの復活方法は?

「プログラムの追加と削除」内の左側のアイコンのテキスト説明の表示が無くなりました。
見た目だけですので、追加&削除の根本的な動作は問題ありません。
このアイコン表示のテキスト部分の復活方法はありますでしょうか?

OSはクリーンインストールした段階では出ていました。
WindowsUPdate後、この不具合があった様に思います。

OS:WindowsXP HomeEdition Version2002 SP1(OEM)

Aベストアンサー

あの・・・・気になったのですが、
タイトルバーとかの色とか変えてますよね?
そういえばその部分、
当方では背景灰色+文字白なんですが
ひょっとして背景色に溶け込んでるなんてオチは
ないですよね・・・?
(未実験)
-----
#もしこれで解決したら
Tsukasa0215様の腕を見込んで僕からお願いが。
多分これらのテキストの情報も
どこぞのdllや
レジストリ内に書かれている部分と思います
それを探してください。

Qワードのテキストが文字化けしてしまいました。

ワードの文書を(yahoo)メールで添付ファイルとして知人に送ろうとしたところ、ファイル名が長すぎます、という表示が出たので、そのファイルをコピーして、コピーしたファイルの名前を短く変更し、その変更した名前のファイルを添付して送りました。ところが先方から、文字化けして開けない、と連絡がありました。びっくりして手元のファイルを開いてみると、送ったファイルも元のファイルも中身が文字化けしてしまっています。ちなみに、送信前にファイルを開いた時には、正常に読めていました。送信した文書ファイルは4つで、うち2つのファイルが文字化けしてしまいました。初心者で途方に暮れております。どうぞよろしくお願いいたします。

Aベストアンサー

添付したいファイルを[エクスプローラー]で右クリックして[新規作成]
で開きます。
文書 1などの新規の文書としてその文書が開きますので、文字化けして
いないのを確認してから、[名前を付けて保存]後に添付ファイルとして
設定してみてください。

これなら、確実に文字化けの防止(確認)とコピーを添付することを同時
に満たしてくれると思います。

QDreamweverでテキストリンクの設定で指アイコンがでない。

Dreamwever4.0で、テキストリンクで別ウィンドウを表示させたいと思いビヘイビアで設定して、ブラウザで確認したところウィンドはちゃんと別に表示できるのですが、その際テキストにマウスカーソルを合わせても「指さしアイコン?」にならないのです。
(イメージからのリンクの別ウィンドウは大丈夫です。)
テキストから別ウィンドウの設定は何か別にあるのでしょうか?
●ビヘイビアの設定は【アクション→ブラウザウィンドウ】【イベント→onClick】です。
ご指導いただければ助かります。
よろしくおねがいします。

Aベストアンサー

その後、解決しましたか?
まだ受付中だったので、参考になればと思って書きます。

ご質問は、例えば「ここからリンク」という文字をクリックすると、
新しいウィンドウが開いてリンク先のページが開くように
したいのに、「ここからリンク」にカーソルを持っていっても
マウスが指差しアイコンにならない、ということですよね?
この指差しアイコンはリンクの時のアイコンの基本の形なので
何も手を加えてない限り通常はこれが出ます。
しかもイメージ(画像)からリンクさせるときは
そのイメージにカーソルを合わせると
ちゃんと指差しになるんですよね。
だったら、macland2さんのやり方は間違ってないと思います。

原因は私にもわからないのですが、
もしよかったら、該当する部分のソースを見て下さい。
「ここからリンク」という文字をクリックして
test.htmというページを別のウィンドウに開きたいのなら、
<a href="#" onClick="MM_openBrWindow('test.htm','','')">ここからリンク
</a>
のようになっているかと思います。
ここで、念のため見てほしいのですが、
<a>の中に style="cursor: default;" とか書かれてないですよね?
もしあったら、これが原因ですので消して下さい。
ただ、自然に書かれてしまうことはありえないので
これが原因というのはなさそうですね。

あとは、解決にはならないけど、
そのページでカーソルが文字や絵の上に乗ると、
リンクは指差し、文字を指すときは矢印、などよく見るパターンに
強制的にしてしまうというのも一つの手です。

<style type="text/css">
<!--
A:hover {cursor:auto;}
-->
</style>

と<head>~</head>の間に書くとそうなります。

ただし、私はWindowsXP、IE6.0を使ってます。
それ以外では同じように見えるかどうかは定かではありません。
お役には立てるほど自信はありませんが、
ほんの参考程度にでもなれば幸いです。

その後、解決しましたか?
まだ受付中だったので、参考になればと思って書きます。

ご質問は、例えば「ここからリンク」という文字をクリックすると、
新しいウィンドウが開いてリンク先のページが開くように
したいのに、「ここからリンク」にカーソルを持っていっても
マウスが指差しアイコンにならない、ということですよね?
この指差しアイコンはリンクの時のアイコンの基本の形なので
何も手を加えてない限り通常はこれが出ます。
しかもイメージ(画像)からリンクさせるときは
そのイメージに...続きを読む

Q文字コード変換で文字コード取得

文字コードと改行コードを変更するマクロなのですが今のコードだと
読み込み元の文字コードがUTF-8のLFでないと正しい形で取り込むことができません。
そこで文字コードがUTF-8か改行コードがLFの時という条件を組みたいのですが色々試したのですができません
皆様のお力をおかしください。

Sub UTF8_LF→SJIS_CRLF()

Dim strFilePath As String
Dim objReadStream As Object
Dim objWriteStream As Object
Dim bytData() As Byte

Const adTypeText = 2
Const adTypeBinary = 1
Const adReadLine = -2
Const adWriteLine = 1
Const adLF = 10
Const adCRLF = -1
Const adSaveCreateOverWrite = 2
Dim opnFile As Variant
Dim fFilter As String
Dim i As Integer

fFilter = "xml Files ,*.xml"
opnFile = Application.GetOpenFilename(FileFilter:=fFilter, MultiSelect:=True)
If IsArray(opnFile) Then
For i = 1 To UBound(opnFile)
strFilePath = opnFile(i)

Set objReadStream = CreateObject("ADODB.Stream")
Set objWriteStream = CreateObject("ADODB.Stream")

' 読み込み元(Shift_JIS,CRLF)
With objReadStream
.Open
.Type = adTypeText
.Charset = "UTF-8"
.LineSeparator = adLF
.LoadFromFile strFilePath
End With
' 書き込み先(UTF-8,LF)
With objWriteStream
.Open
.Type = adTypeText
.Charset = "Shift_JIS"
.LineSeparator = adCRLF
End With

' 1行ずつ変換
Application.DisplayStatusBar = True 'ステータスバーの表示
Application.StatusBar = Dir(opnFile(i)) & "を取得中・・・" 'ステータスバーに文字列表示
Do Until objReadStream.EOS
objWriteStream.WriteText objReadStream.ReadText(adReadLine), adWriteLine
Loop
Application.StatusBar = False 'ステータスバーの制御を通常に戻す
objReadStream.Close

With objWriteStream
.Position = 0
.Type = adTypeBinary
.Position = 0
bytData = .Read
.Close

.Open
.Position = 0
.Type = adTypeBinary
.Write bytData
.SaveToFile strFilePath, adSaveCreateOverWrite
.Close
End With

Next

Else
MsgBox "キャンセルしました"
End
End If

宜しくお願いします。

文字コードと改行コードを変更するマクロなのですが今のコードだと
読み込み元の文字コードがUTF-8のLFでないと正しい形で取り込むことができません。
そこで文字コードがUTF-8か改行コードがLFの時という条件を組みたいのですが色々試したのですができません
皆様のお力をおかしください。

Sub UTF8_LF→SJIS_CRLF()

Dim strFilePath As String
Dim objReadStream As Object
Dim objWriteStream As Object
Dim bytData() As Byte

Const adTypeText = 2
Const adTypeBinary = 1
...続きを読む

Aベストアンサー

こんにちは。

ご自身のコードだと思いますから、少しのアドバイスすればお分かりになると思います。
 .xml ファイル自体は、テキストファイルですから、一行目のencodingを読んで判定させればいいのではありませんか。LF がセパレータになっているかは、同じくLF 検索すればよいのではありませんか。


人気Q&Aランキング

おすすめ情報