プロが教える店舗&オフィスのセキュリティ対策術

はじめてお世話になります
エクセルもワードも2016を使用してます。
前任者が作成したマクロがあるのですが、ワードに貼りつけするマクロを誰かが消したようで業務に困っています。
マクロの記述ぐらいしか出来ないレベルです。
張り付けるワードには、ボタンが設置してあり空白や行削除等自動で作成できるようになっています。
エクセルには業務進行表のようなもので 各担当者が実施した時間、作業内容などが表になっていて
不要箇所は空白になっていたり、数字や単位などが入力されてます。
ワードに貼り付けるとボタンで不要個所も自動的に修正されるのでテキスト貼り付けが出来ればOKです。
烈はA列からA Z列、行は1行目から700行ほどのデータです。

時間 担当者 工程 処理 ・・・・・・・・・・
5/1 A 112 A-15 ・・・・・・・・・・
5/2 B 115 B-10 ・・・・・・・・・・

表形式で出力されてますが、罫線は不要です。
いろいろ探しましたが、うまくいきません。
助けて頂けたらと質問してみました。
よろしくお願いいたします。

質問者からの補足コメント

  • 補足します。
    前任者は連絡が取れる者がいません。

    日報みたいなもので、業者に依頼して作成する物でなく、またそのような予算もありません。
    各個人が時系列でワードにて報告となってます。

    やりたい事は、
    1,エクセル表''A''で1つのシートの必要範囲(例えば A1:E5)を選択コピーして、
    2,指定のワード''B''を自動で開き、
    3,テキスト貼り付けをする。

    これをマクロにて自動化したいのです。

    エクセルの表を貼り付けるVBAコードは、いっぱいネットで見つけたのですが、テキスト貼り付けは探せなかったので質問しました。

    エクセルの表を罫線なしで貼り付ければいいと思われるかもしてませんが、
    ワードに貼り付けた後、検索と置換で再加工するので、テキスト貼り付けが必要なのです。

    補足になってるかは分かりませんが、宜しくお願いします。

      補足日時:2020/05/13 11:42
  • enunokokoroさん 

    ご回答ありがとうございます
    消えたマクロはエクセルにあったもので、その為ワードがに貼り付け出来なくなりました。
    貼り付け先のWordにあるボタンとは、ワードのタブにマクロボタンが登録されています。
    その為用紙上には設置してありません。

    消えた原因は憶測ですが、4月に辞めた前任者が自分で作成したマクロを消したと思われます。
    褒められる辞め方でなかったとだけ言えば、ご理解できるでしょうか。

    エクセルで右クリックで選択範囲コピー、マクロが設定されたワードを開き右クリックで貼り付け形式を指定(A□で囲んである)で貼り付けてます。

    このマクロを消されてしまったのです。

    パソコンで選択範囲コピーとか貼り付け形式を変更するなどが、不慣れなものもいますので、出来るだけ自動化して個人での作業を減らそうとしているのです。

    よろしくお願い致します

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/05/13 18:54
  • めぐみん_

    ご回答ありがとうございます

    あくまでも個人的に作成したものを各自が利用させてもらってました。

    なので損害賠償請求とかは無理ですね。

    通信教育やVBAの本など買って勉強してますが、エクセルでワードを開くまでは何とか出来たのですが、コピー&ペーストがうまくいかないですね。

    手作業なら簡単ですが、定年延長者が増えてコピー&ペーストもなかなか覚えてもらえなくて・・・
    なので本人は手打ち入力するので、時間がかかり他の人に大量の業務が回ってくる。
    これから益々そんな方が増えると思います。

    もう少し勉強してみます。

    ありがとうございました。

    No.4の回答に寄せられた補足コメントです。 補足日時:2020/05/13 20:57
  • うーん・・・

    enunokokoroさん

    ご回答ありがとうございます

    今日会社でやってみましたが、
    wdDoc.ActiveWindow.Selection.PasteSpecial Link:=False, _
     DataType:=wdPasteText, Placement:= _
     wdInLine, DisplayAsIcon:=False 

    のところでエラーとなってしまいました。

    どこが問題なのでしょう?

    wdFormatPlainTextの場合
    罫線とか入らないと思うのですが、どうなんでしょう?
    この場合も罫線が入りました。

    No.5の回答に寄せられた補足コメントです。 補足日時:2020/05/14 18:04
  • うーん・・・

    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

    No.8の回答に寄せられた補足コメントです。 補足日時:2020/05/14 21:19
  • うーん・・・

    enunokokoroさん

    ご回答ありがとうございます

    何故か罫線つきますね。グリッドではないです。

    もうこの問題で1週間以上悩んでます。

    とりあえず罫線付きで貼り付けて、Word側の方で罫線外しで加工してみます。

    クリップボードからのコピーかリンク貼り付け等色々やってみます。

    マクロが入ったWordファイルでも、マクロなしのファイルでも罫線付くので

    何か他に原因があるのかもしれません。

    明日会社でもう少し検討してみます。

    No.9の回答に寄せられた補足コメントです。 補足日時:2020/05/14 22:57

A 回答 (12件中1~10件)

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
この回答への補足あり
    • good
    • 0

仮にセルをそれぞれ単体で使用した範囲をコピペしているなら、新規Bookで適当にセル結合して罫線を付けてみる。


それがWordでどのように貼りつくかって点も気になるかも。

あとはアドインが登録されているとかですかね。
私はアドインを使用しないので確認方法等は検索お任せします。
仮にVBAが出来る事であれこれ頼まれ嫌気がさして退職ってなら、人によっては意地悪を考えるかもです。
ぶっちゃけ他の誰もわからないってのは悪戯心に火を付けますからね。
    • good
    • 0

今更ですが。



No.9のコードを使わせて頂きました。
結果としては罫線は貼りつきませんでした。
なのでセルの書式設定にある罫線ではないと私も判断します。
以上ご報告まで。
    • good
    • 0

ここれが最後のアドバイスです。



Wordに貼り付けるデータとして、メモ帳経由または、CSVファイルから
テキストデータのみで貼り付けてみて。これでも罫線が付くのなら、
この罫線は表ではなく、Word側での段落罫線などが考えられます。

形式のない貼り付けなので、トラブルの原因を探す手掛かりになると
思う。Word側の問題なのかもしれませんので。

ちなみにExcelからの貼り付けとしてなら、以下の方法もあります。
Selection.PasteExcelTable False, False, False
https://docs.microsoft.com/ja-jp/office/vba/api/ …
テキスト形式にはなりませんが、Excelの表をもとに貼り付け形式を
指定できます。
    • good
    • 0
この回答へのお礼

がんばります

CSV.メモ帳って手もありましたね!
ナイスです。
色々とアドバイス頂いたおかげで.少し見えて来ました。
本当にありがとうございました。

お礼日時:2020/05/14 23:43

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のグリッド線というはないですよね?)
この回答への補足あり
    • good
    • 0

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
にします。
この回答への補足あり
    • good
    • 1

先にも書きましたけどWordでなければならない何かがあるのでしょうか?


日報のような物って事なら書式的に複雑な者とも思えず、逆に罫線・セル結合などが使えるExcelででも作成可能なのでは?
私は以前ISO関連の改訂など業務で行なってましたけど、古い書式等が使いにくいと感じれば上司に確認の上、アプリは変更したりしてましたね。
Wordファイルで提出・保存って事になってはいないなら(なっていればファイルがあるはずですし)執着しなくても。。。
    • good
    • 0

No.5のマクロ内で適切ではないものがありましたね。


Range("A1:B48").Copy
これは、検証ファイルで試したときのまま提示したものでした。

最初の補足の内容だと、Range("A1:E5").Copy になります。
質問内容からだと、Range("A1:AZ700").Copy となりますね。
あと、ファイル名などの指定は質問者さんが設定してください。
    • good
    • 0

>4月に辞めた前任者が自分で作成したマクロを消したと思われます。



会社が作成してくれたことに対しキチンと評価をしなかった、又はあくまでも個人的に作成したものであったのなら削除は作成者の自由では。
会社が作成を依頼したいかとしての評価を行なったと言うなら探し出し業務妨害として損害賠償請求を検討すべきかと。
この回答への補足あり
    • good
    • 0

テキストを貼り付けるってどう言う事なのか不明。


セルの値をってならまだわかるけど、

>A列からA Z列

これ程のデータを一体どこに貼り付けるの?と疑問しかない。仮にA4サイズで編集しているならはみ出すでしょ(多分ですが)。

>必要範囲(例えば A1:E5)を選択コピーして
>テキスト貼り付けをする。

内容も変わってしまってますしここでも『どこに貼り付ける?』ですよ。
だからこそ『現物を見て検証できる』よう業務委託を薦めましたが、予算がないからってサイトの回答者に無償でってのも会社としてどうなの?と思います。
そもそも消した当人もですがバックアップを取っていなかったのも不備ですしね。

前任者は引っ越されたのですか?
だったら過去の遺産は捨てて新たに構築するのも手ですよ。(Excelのあるシートを書式フォームとしてそこにデータを送って印刷?するなどWordは切り捨てる)
ただその前に勉強が必要となりますけど。

現物を見て悩んでおられる質問者と、現物の状態が全く思い浮かばない回答者との違いって分かって頂けますか?

あとは思い浮かべられるベテラン回答者を待つか、勉強して復帰又は新たに一新させるか、委託するかって所でしょうか。
    • good
    • 0

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