Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Microsoft 365)
ユーザーフォームのテキストボックスからワードに文章を挿入する方法
投稿日時: 22/06/06 05:35:04
投稿者: mk2021

よろしくお願いします。
 
今後、複数人の作問者のファイルを一つにまとめる作業をやることになっています。問題数も多く、統一すると微妙に書式が異なり、それを統一する作業に何日もかかってしまいます。いくら執筆要項を詳しく書いていても改善しません。そこで、wordVBAをつくってユーザーフォーム上のテキストボックスから問題番号や問題文や択の入力を強制したいと考えています。ただ、wordVBAの情報が少なく困っています。以下はその一部です。
例(やりたいこと)
問題1 ああああああああああああああああああああああああああ
 ああああ・・・・
 あああああああああ・・・・・
  1.いいいいい・・・・
 2.うううううう・・・
-----------------
のように2行目以下を1字字下げにしたいのですが方法がわかりません。
どのようにしたらよいのか教えていただけませんか。よろしくお願いいたします。
---------------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim mytext As String
Dim mynum As String
'半角数字3桁まで
mytext = testform.TextBox1.Value
ActiveDocument.Content.InsertAfter "[問題 " & mytext & "]"
mytext = testform.TextBox2.Value
ActiveDocument.Content.InsertAfter mytext & vbCr
'--------------------------------
mytest = ""
testform.Hide
End Sub
---------------------------------------------------------------------------------------
 
 
 

回答
投稿日時: 22/06/06 12:00:32
投稿者: sk

引用:
問題数も多く、統一すると微妙に書式が異なり、
それを統一する作業に何日もかかってしまいます。

出来れば「問題1」や「問題105」といったテキストを
ドキュメントの本文に直接入力する形を採るのではなく、
そういう書式の番号が自動的に段落の行頭に挿入される
リストスタイルをあらかじめ定義して対応した方がよい
と思いますが。
 
引用:
2行目以下を1字字下げにしたい

段落書式についても同様に、スタイルで定義された方が無難でしょう。
 
引用:
wordVBAをつくってユーザーフォーム上のテキストボックスから
問題番号や問題文や択の入力を強制したい

ドキュメントに新しい段落(問題番号と問題文)を挿入するだけでなく、
既に挿入済みの段落を書き換えたり、任意の問題文を削除したりする
ような処理まで、ユーザーフォームで行なうつもりなのでしょうか。

回答
投稿日時: 22/06/06 14:48:19
投稿者: Suzu

「スタイル」を活用できればある程度は 統一する事ができるでしょう。
 
そもそも 何のために Word を使用しているのでしょうか。
それらを使う、著者、編集者 が Word に慣れていないのであれば、Wordの利点を使うことができません。
今回の スタイル(前回もスタイルを使ったらとは言っていますが・・)も その利点の一つです。
 
 
使いこなせないのであれば、
・「テキストエディター」で書いてもらう
・「Excel」で書いてもらう
の方が よっぽど早いのではありませんか?

投稿日時: 22/06/16 11:31:24
投稿者: mk2021

sk様 Suzu様
 
お世話になっています。
ご教示ありがとうございます
スタイルで対処することにしましたので
これでこの問題は解決したとします。
ありがとうございました。