はじめてお世話になります
エクセルもワードも2016を使用してます。
前任者が作成したマクロがあるのですが、ワードに貼りつけするマクロを誰かが消したようで業務に困っています。
マクロの記述ぐらいしか出来ないレベルです。
張り付けるワードには、ボタンが設置してあり空白や行削除等自動で作成できるようになっています。
エクセルには業務進行表のようなもので 各担当者が実施した時間、作業内容などが表になっていて
不要箇所は空白になっていたり、数字や単位などが入力されてます。
ワードに貼り付けるとボタンで不要個所も自動的に修正されるのでテキスト貼り付けが出来ればOKです。
烈はA列からA Z列、行は1行目から700行ほどのデータです。
時間 担当者 工程 処理 ・・・・・・・・・・
5/1 A 112 A-15 ・・・・・・・・・・
5/2 B 115 B-10 ・・・・・・・・・・
表形式で出力されてますが、罫線は不要です。
いろいろ探しましたが、うまくいきません。
助けて頂けたらと質問してみました。
よろしくお願いいたします。
No.5ベストアンサー
- 回答日時:
No.2の回答者です。
マクロのボタンへの登録などは知っているのですよね。
VBAでWordオブジェクトへの参照済みにしてあって、Wordファイルに
テキストでの貼り付けで済む場合です。
https://www.atmarkit.co.jp/ait/articles/1512/17/ …
Sub test()
Dim wdObj As Object
Dim wdDoc As Object
' Excelの範囲を指定してコピー
Workbooks("ブック名.xlsm").Sheets("シート名").Range("A1:B48").Copy
' Wordファイルを開く
Set wdObj = CreateObject("Word.Application")
Set wdDoc = wdObj.Documents.Open("ファイルパス\ファイル名.docx")
wdObj.Visible = True
' Wordファイルにテキスト形式で貼り付け
wdDoc.ActiveWindow.Selection.PasteSpecial Link:=False, _
DataType:=wdPasteText, Placement:= _
wdInLine, DisplayAsIcon:=False
' Excelコピーモード解除
Application.CutCopyMode = False
' オブジェクト変数を解放
Set wdObj = Nothing: Set wdDoc = Nothing
End Sub
No.12
- 回答日時:
仮にセルをそれぞれ単体で使用した範囲をコピペしているなら、新規Bookで適当にセル結合して罫線を付けてみる。
それがWordでどのように貼りつくかって点も気になるかも。
あとはアドインが登録されているとかですかね。
私はアドインを使用しないので確認方法等は検索お任せします。
仮にVBAが出来る事であれこれ頼まれ嫌気がさして退職ってなら、人によっては意地悪を考えるかもです。
ぶっちゃけ他の誰もわからないってのは悪戯心に火を付けますからね。
No.11
- 回答日時:
今更ですが。
No.9のコードを使わせて頂きました。
結果としては罫線は貼りつきませんでした。
なのでセルの書式設定にある罫線ではないと私も判断します。
以上ご報告まで。
No.10
- 回答日時:
ここれが最後のアドバイスです。
Wordに貼り付けるデータとして、メモ帳経由または、CSVファイルから
テキストデータのみで貼り付けてみて。これでも罫線が付くのなら、
この罫線は表ではなく、Word側での段落罫線などが考えられます。
形式のない貼り付けなので、トラブルの原因を探す手掛かりになると
思う。Word側の問題なのかもしれませんので。
ちなみにExcelからの貼り付けとしてなら、以下の方法もあります。
Selection.PasteExcelTable False, False, False
https://docs.microsoft.com/ja-jp/office/vba/api/ …
テキスト形式にはなりませんが、Excelの表をもとに貼り付け形式を
指定できます。
CSV.メモ帳って手もありましたね!
ナイスです。
色々とアドバイス頂いたおかげで.少し見えて来ました。
本当にありがとうございました。
No.9
- 回答日時:
No.8への補足にあるエラーは、打ち間違いなどでは?
http://officetanaka.net/excel/vba/error/
罫線が付くというマクロですが、Word側の問題なのかを確認するために
以下のように書き換えてみては。
Sub Macro2()
Dim objWd As Object
ActiveSheet.Range("A1:C3").Copy
Set objWd = CreateObject("Word.Application")
With objWd
.Visible = True
.Documents.Add ' 新規文書に貼り付け
.Selection.PasteAndFormat Type:=wdFormatPlainText
End With
End Sub
これでも罫線が付くとなると理由は判りません。
(まさが、Wordのグリッド線というはないですよね?)
No.8
- 回答日時:
No.5のマクロでエラーですか?
どのようなエラーなのでしょうか?
「コンパイルエラー 変数が適宜されていません」の場合には、VBEの
[ツール]の[参照設定]にて、" Microsoft Word 16.0 Object Library "に
チェックが入っていないためです。
https://kosapi.com/post-3986/
このエラー以外だと、エラーの内容を記載しないと判断できません。
ちなみにテキストで貼り付ける場合の部分は、
wdDoc.ActiveWindow.Selection.PasteSpecial DataType:=wdPasteText
でも同じ結果です(省略できるので)。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
https://docs.microsoft.com/ja-jp/office/vba/api/ …
wdFormatPlainTextの場合は、
wdDoc.ActiveWindow.Selection.PasteAndFormat wdFormatPlainText
にします。
No.7
- 回答日時:
先にも書きましたけどWordでなければならない何かがあるのでしょうか?
日報のような物って事なら書式的に複雑な者とも思えず、逆に罫線・セル結合などが使えるExcelででも作成可能なのでは?
私は以前ISO関連の改訂など業務で行なってましたけど、古い書式等が使いにくいと感じれば上司に確認の上、アプリは変更したりしてましたね。
Wordファイルで提出・保存って事になってはいないなら(なっていればファイルがあるはずですし)執着しなくても。。。
No.6
- 回答日時:
No.5のマクロ内で適切ではないものがありましたね。
Range("A1:B48").Copy
これは、検証ファイルで試したときのまま提示したものでした。
最初の補足の内容だと、Range("A1:E5").Copy になります。
質問内容からだと、Range("A1:AZ700").Copy となりますね。
あと、ファイル名などの指定は質問者さんが設定してください。
No.4
- 回答日時:
>4月に辞めた前任者が自分で作成したマクロを消したと思われます。
会社が作成してくれたことに対しキチンと評価をしなかった、又はあくまでも個人的に作成したものであったのなら削除は作成者の自由では。
会社が作成を依頼したいかとしての評価を行なったと言うなら探し出し業務妨害として損害賠償請求を検討すべきかと。
No.3
- 回答日時:
テキストを貼り付けるってどう言う事なのか不明。
セルの値をってならまだわかるけど、
>A列からA Z列
これ程のデータを一体どこに貼り付けるの?と疑問しかない。仮にA4サイズで編集しているならはみ出すでしょ(多分ですが)。
>必要範囲(例えば A1:E5)を選択コピーして
>テキスト貼り付けをする。
内容も変わってしまってますしここでも『どこに貼り付ける?』ですよ。
だからこそ『現物を見て検証できる』よう業務委託を薦めましたが、予算がないからってサイトの回答者に無償でってのも会社としてどうなの?と思います。
そもそも消した当人もですがバックアップを取っていなかったのも不備ですしね。
前任者は引っ越されたのですか?
だったら過去の遺産は捨てて新たに構築するのも手ですよ。(Excelのあるシートを書式フォームとしてそこにデータを送って印刷?するなどWordは切り捨てる)
ただその前に勉強が必要となりますけど。
現物を見て悩んでおられる質問者と、現物の状態が全く思い浮かばない回答者との違いって分かって頂けますか?
あとは思い浮かべられるベテラン回答者を待つか、勉強して復帰又は新たに一新させるか、委託するかって所でしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Excel(エクセル) マクロで作った ワードエクセル かけ線や コピペなど 修正や色々な方法を教えてください 2 2023/07/07 22:27
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) Excel使用前提 同じフォルダ内にあるファイルの集約等をマクロでできますか 4 2022/09/06 19:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの条件付き書式設定の太い...
-
Excelの外枠太罫線を2~3倍さ...
-
excel2003 罫線だけを保護したい
-
EXCELで、下線の太さを変...
-
【エクセル】謎の枠線の消し方
-
エクセル
-
エクセルで罫線も一緒に並び替...
-
EXCELのオートフィルタで罫線が...
-
罫線の色を薄くしたい
-
エクセル表の罫線(縦)が消せ...
-
エクセルでデータがある部分だ...
-
エクセル 4行ごとに線を引きたい
-
エクセルのアンダーラインについて
-
Excelでアンダーラインに文字が...
-
罫線が引かれているセルの個数...
-
エクセルの罫線を固定させる方...
-
エクセルExcel 「/」セルの斜...
-
エクセル 入力されていない線...
-
決まった罫線のなかで、文章入...
-
OpenOfficeのCalcで罫線の削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの条件付き書式設定の太い...
-
Excelの外枠太罫線を2~3倍さ...
-
excel2003 罫線だけを保護したい
-
EXCELで、下線の太さを変...
-
罫線の色を薄くしたい
-
【エクセル】謎の枠線の消し方
-
エクセルで文字を入力すると罫...
-
エクセルで罫線も一緒に並び替...
-
エクセル 入力されていない線...
-
決まった罫線のなかで、文章入...
-
エクセルを印刷すると勝手に線...
-
エクセルのアンダーラインについて
-
勝手に背景に色が付いて困っ...
-
エクセル
-
パワーポイントで、表の一部を...
-
エクセルの罫線を固定させる方...
-
エクセル 罫線入りの文字 文...
-
Excelでアンダーラインに文字が...
-
エクセル表の罫線(縦)が消せ...
-
罫線が引かれているセルの個数...
おすすめ情報
補足します。
前任者は連絡が取れる者がいません。
日報みたいなもので、業者に依頼して作成する物でなく、またそのような予算もありません。
各個人が時系列でワードにて報告となってます。
やりたい事は、
1,エクセル表''A''で1つのシートの必要範囲(例えば A1:E5)を選択コピーして、
2,指定のワード''B''を自動で開き、
3,テキスト貼り付けをする。
これをマクロにて自動化したいのです。
エクセルの表を貼り付けるVBAコードは、いっぱいネットで見つけたのですが、テキスト貼り付けは探せなかったので質問しました。
エクセルの表を罫線なしで貼り付ければいいと思われるかもしてませんが、
ワードに貼り付けた後、検索と置換で再加工するので、テキスト貼り付けが必要なのです。
補足になってるかは分かりませんが、宜しくお願いします。
enunokokoroさん
ご回答ありがとうございます
消えたマクロはエクセルにあったもので、その為ワードがに貼り付け出来なくなりました。
貼り付け先のWordにあるボタンとは、ワードのタブにマクロボタンが登録されています。
その為用紙上には設置してありません。
消えた原因は憶測ですが、4月に辞めた前任者が自分で作成したマクロを消したと思われます。
褒められる辞め方でなかったとだけ言えば、ご理解できるでしょうか。
エクセルで右クリックで選択範囲コピー、マクロが設定されたワードを開き右クリックで貼り付け形式を指定(A□で囲んである)で貼り付けてます。
このマクロを消されてしまったのです。
パソコンで選択範囲コピーとか貼り付け形式を変更するなどが、不慣れなものもいますので、出来るだけ自動化して個人での作業を減らそうとしているのです。
よろしくお願い致します
めぐみん_
ご回答ありがとうございます
あくまでも個人的に作成したものを各自が利用させてもらってました。
なので損害賠償請求とかは無理ですね。
通信教育やVBAの本など買って勉強してますが、エクセルでワードを開くまでは何とか出来たのですが、コピー&ペーストがうまくいかないですね。
手作業なら簡単ですが、定年延長者が増えてコピー&ペーストもなかなか覚えてもらえなくて・・・
なので本人は手打ち入力するので、時間がかかり他の人に大量の業務が回ってくる。
これから益々そんな方が増えると思います。
もう少し勉強してみます。
ありがとうございました。
enunokokoroさん
ご回答ありがとうございます
今日会社でやってみましたが、
wdDoc.ActiveWindow.Selection.PasteSpecial Link:=False, _
DataType:=wdPasteText, Placement:= _
wdInLine, DisplayAsIcon:=False
のところでエラーとなってしまいました。
どこが問題なのでしょう?
wdFormatPlainTextの場合
罫線とか入らないと思うのですが、どうなんでしょう?
この場合も罫線が入りました。
enunokokoroさん
ご回答ありがとうございます
コンパイルエラー 構文エラーと出ました。
Word 16.0 Object Libraryはチェックあります
下記は罫線つきます
Sub Macro2()
Dim objWd As Object
ActiveSheet.Range("A1:C3").Copy
Set objWd = CreateObject("Word.Application")
With objWd
.Visible = True
.Documents.Open _
Filename:="パス入力"
.Selection.PasteAndFormat Type:=wdFormatPlainText
End With
End Sub
enunokokoroさん
ご回答ありがとうございます
何故か罫線つきますね。グリッドではないです。
もうこの問題で1週間以上悩んでます。
とりあえず罫線付きで貼り付けて、Word側の方で罫線外しで加工してみます。
クリップボードからのコピーかリンク貼り付け等色々やってみます。
マクロが入ったWordファイルでも、マクロなしのファイルでも罫線付くので
何か他に原因があるのかもしれません。
明日会社でもう少し検討してみます。