[PR]ネットとスマホ OCNでまとめておトク!

元の表(リスト)はexcelで作っています。wordの差し込み印刷の機能を使って会員証のようなものを作っているのですが、ある列にデータが入っている人はスタンプ画像(jpgでもbmpでも)を表示、入ってない人には非表示としたいのですが、簡単にやる方法はないでしょうか?

リストに対して1つ1つ違う画像を差し込む方法はいろいろ紹介されていますが、今回は差し込む画像は1種類で、ただ差し込むか差し込まないかだけなので、もっと簡単にできるのでは、と思ったのです。

どうぞよろしくお願いします。

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

A 回答 (4件)

No.2の回答者です。

No.3への補足を読みました。
そのことと関連し、これを最後に簡単なアドバイスをします。

台紙というのが、どのようなものなのか推測できなかったので
そのことには触れないでおきます。今回の場合、差し込み印刷
をすることができていることが前提で、レイアウトも問題ない
ことが大事なので、無理して画像をIF文を使って条件指定する
必要な内容な気がしています。

そこで、ある列のデータがあるかないかだけをわかるように、
差し込みができることが前提ですが、その列のデータを画像を
配置したい部分に差し込みします。
このデータはできれば同じものがベストです。
一桁だけの数字だけとか、一文字の英字だけでもよいですよ。

これができていれば、その枠にはデータがあるかないかだけの
状態になっているとして、そのまま新規文書への差し込みにて
印刷前のすべてのデータが入った文書を作成します。
[完了と差し込み]から[個々のドキュメントの編集]を選択して
新規文書への差し込みをします。
http://www5a.biglobe.ne.jp/~kazama-c/l/sasikomi/ …

新規文書の画像を配置したい部分の文字を、[置換]にて画像と
入れ替えることで、結果的にあるなしによる画像の配置になる
かと思います。置換方法は、クリップボードの内容を置換後の
文字列として入れ替えます。
http://office.microsoft.com/ja-jp/word-help/HA00 …
「^c」を利用した置換をすることで、直前にクリップボードに
コピーされた内容が検索結果に対しての置換後のものとなり、
それを応用して、事前に一番最初の枠となる部分に画像を用意
して、これをコピーまたは切り取りしてクリップボードに保存
してから、[検索する文字列]として特定条件を指定します。
[置換後の文字列]に「^c」を入れてすべて置換すれば検索条件
に応じてコピーしておいた画像に入れ替わります。

この方法でも難しいと思う場合は、画像をすべてに入れておき
新規文書で不要な画像のみ削除する手作業をすることになると
思います。マクロで特定条件を探して画像を配置したり、削除
する方法もあるでしょうが、それをするにも差し込み印刷した
レイアウトが正しくすべてに適用されていることが前提になる
ため、どれを使ってもWordをある程度使いこなせていることが
基本になりそうです。

Wordを使わないで、差し込み印刷と画像のある・なしができる
その他のソフトを紹介してもらって、それで作ったほうが簡単
かもしれませんね。
例:ラベル屋さんHOME ←(これで対応できるか未検証)

では、これにて(^^)/~~~
    • good
    • 0
この回答へのお礼

結論から言うと・・・私のスペックでは理解できませんでした。
でも、enunokokoroさんならできるのだと思います。そのスキルが羨ましいです。
とりあえず、教えて頂いたことができるように、勉強したいと思います。
お礼になっているか分かりませんが、何度も何度も回答ありがとうございました。

お礼日時:2011/10/12 21:09

No.2の回答者です。



スタンプ画像をパスで入れるのは意味がありません。
直接が画像を行内になるように挿入してください。
今回の場合は、画像を差し込むのではなく、画像を表示するか
どうかで条件を指定して、空白または画像そのものを切り替え、
単純に行内にすることでテキストと同じような動作をさせてる
だけなので。

ネット上で紹介しているような画像の差し込み印刷ではなくて、
IFによって条件指定して特定の文字を表示するような仕組みを
活用しているだけなのです。

画像へのパスを入れる場合は、IncludePicture フィールド
を使ってパスと画像ファイル名を記載することで対応します。
http://office.microsoft.com/ja-jp/word-help/HA10 …
今回の場合は、パスでの指定をするよりももっと確実になる
画像の埋め込みをすることで、対応しています。

この回答への補足

直接行内に入れるという意味がやっと分かりました。。。

ただ、 フィールド名}=  という表示だけになってしまいます。

実際問題、台紙に枠があって、枠より僅かだけ小さいスタンプを、印刷することで表示しようとしているので、細かく配置するにはちょっと無理がありそうです。。。今回のケースでは断念かと思っています。

補足日時:2011/10/08 20:01
    • good
    • 0

Wordのバージョンは何ですか?


会員証はラベル(表)形式ですか?
挿入したい画像は[行内配置]でもよいのですか?
差し込むときの画像の表示・非表示における条件はフィールド名の
値が空白の場合みたいですが、正しく空白になりますか?

いろいろな条件で説明も変わります。
とくに行内に画像を置いてもよいのかどうかによって、対応方法
などが簡単になるかどうかに影響します。

簡単なものだと以下のようなことで対応できます。

差し込むときの条件となるフィールド名
{ MERGEFIELD フィールド名 }
これをIFフィールドで条件によって変わるようにします。
{ IF { MERGEFIELD フィールド名 } = "" "" "スタンプ画像" }
スタンプ画像は[行内配置]で埋め込めば、空白でない場合に画像を
表示することは可能です。
この場合、画像が行内なので、行間が広くなることと、他の文字と
バランスを整えるのが大変かもしれません。

フィールドコードを複雑に設定すれば、特定の位置に画像を配置し、
その画像の右側や左側に他のフィールド名の内容を配置することは
可能ですが、かなり面倒です。

画像に対して[前面]や[背面]などの[浮動配置]にした場合に、表
の中の配置に影響があります。
この場合も、縦位置でラベル中央に配置したいときに影響があって
画像の配置とレイアウトとのバランスをとるのが大変です。

どの場合も簡単にはできない可能性がありますので、大変かも。

添付画像は行内配置と浮動配置のそれぞれを例としたものです。
ちょっとテキストなどが小さくて見難いかも。
「wordの差し込み印刷で特定の画像を差し」の回答画像2

この回答への補足

wordは2007です。ラベル形式ってのがよく分かりませんが、会員証は元の台紙があるので、記入スペースにうまく合うように微調整しながら入れています。
昔は手書きで記入していたのを、プリンタで印刷できるようにしたのです。

{ IF { MERGEFIELD フィールド名 } = "" "" "スタンプ画像" }は、

フィールド名が例えばスタンプ、画像パスが「C:\Documents and Settings\ ~」だったら


{ IF { MERGEFIELD スタンプ } = "" "" "C:\Documents and Settings\ ~" }

で良いのでしょうか?

補足日時:2011/10/06 15:32
    • good
    • 0

ある列のデータの有無で「フィルタリング」して、画像の有無2種類の文書に差し込む方法が可能と思います。



「差し込み印刷中に行うデータ ファイル エントリのフィルタリングと並べ替え」
http://office.microsoft.com/ja-jp/publisher-help …

「宛先リストを編集する」
http://office.microsoft.com/ja-jp/word-help/HA01 …

この回答への補足

回答を頂きありがとうございます。

実は、現在そのやり方でやっているんです。
もしそれが1種類のword文書に対してできたら、と思ったんです。

補足日時:2011/10/06 13:19
    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qワードの差し込み印刷で画像を配置するには?

WindowsXP sp2でワード2003を使用しています。
ワードの差し込み印刷の方法で画像を配置するなんてこと可能ですか?
またマクロを使用することで可能になるでしょうか?

Aベストアンサー

差し込みで画像を配置することは可能ですが、差し込み元のデータは何
を使用しているのでしょうか?

一番簡単なのは、Wordの表形式にデータの列に画像を[行内]で保存して、
そのデータから差し込みをすれば、画像そのものを差し込みすることが
出来ます。
元データがExcelやPowerPointだと、別の方法をとらないと差し込みは
出来ません。
別にマクロを使用しなくても出来ますから、Wordのレイアウトとデータ
の差し込み元のソフト名を教えて下さい。

Qエクセルから帳票形式に差込印刷したいのですが

皆さん初めまして!

エクセルで1万件に近いデータがあります。

これらを帳票形式に差込印刷したいと思えば、ワードの「差込印刷」機能以外に、エクセル自体で行なうことは不可能でしょうか?

(例:請求データを請求書フォームに印刷)

ワードの差込印刷は便利ですが、エクセルデータ形式(特に金額のカンマ区切り表示が必要なため)を参照する際は、フィールド設定の数の制限が22列まで?で・・・行き詰っています(私は約40列あります)。

エクセル・ワードの操作は上級手前の操作まではいけますが、
エクセルでVBA、差込印刷マクロを作るとまではいけないもので・・・何か妙案がありましたらご教示願います・・・

Aベストアンサー

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Worksheets(org)
 Set pSht = Worksheets(prs)
 res = MsgBox("印刷行範囲を指定しますか?" & Chr(13) & _
  "はい:指定する、いいえ:指定しないで全件印刷、CANCEL:印刷しない", vbYesNoCancel)
 Select Case res
  Case Is = vbCancel
   Exit Sub
  Case Is = vbYes
   res2 = Application.InputBox("印刷開始行を半角数字で入力して下さい", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 >= strt And res2 <= oSht.Range("A65536").End(xlUp).Row Then
     fromL = res2
    Else
     MsgBox "開始行が不適切です。印刷を中止しました", vbOKOnly
     Exit Sub
    End If
   End If
   res2 = Application.InputBox("印刷する最終行を入力して下さい" & Chr(13) & _
     "99999を入力すると最終行まで印刷します", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 = 99999 Then
     toL = oSht.Range("A65536").End(xlUp).Row
    Else
     If res2 >= fromL And res2 <= oSht.Range("A65536").End(xlUp).Row Then
      toL = res2
     Else
      MsgBox "最終行が不適切です。印刷を中止しました", vbOKOnly
      Exit Sub
     End If
    End If
   End If
  Case Else
   fromL = strt
   toL = oSht.Range("A65536").End(xlUp).Row
 End Select

 For idx = fromL To toL
'以下の行を項目数だけコピーして定義する
  pSht.Range("A1").Value = oSht.Cells(idx, "A").Value
'
  pSht.PrintOut '印刷
'5頁につき8秒休止する
  If (idx Mod 5) = 0 Then
   DoEvents
   Sleep 8000
  End If
 Next idx
End Sub

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Works...続きを読む

Qエクセル 表を大きく、紙いっぱいに印刷したい

エクセルで表を作りました。
印刷プレビューで確認したところ
用紙に対して表が小さく見栄えがしません。

一つ一ついじればできると思いますが、
簡単に、
用紙いっぱいにフォントも大きくし、表も大きくし、
印刷するやり方はありますか。
教えてください。

Aベストアンサー

CtrlキーとPのキーを同時に押すと「印刷」ダイアログが呼び出せます。その状態でAltキーとWのキーを同時に押すと「印刷プレビュー」が表示されますので、印刷のイメージがつかめます(必ずしもプレビュー通りには印刷されませんが)
印刷プレビュー画面の上にある、設定のボタンを押してあげれば、余白を少なくしたり、拡大縮小印刷をパーセンテージを指定しておこなえたりします。いずれにせよ、プレビューで確認しながら拡大率を決めていけばいいと思います。なお、「拡大縮小印刷」のところに「次のページ数に合わせて印刷をする」というチェックをいれて横1×縦1にしてあげれば自動で拡大縮小印刷ができる場合がありますが、やってみればわかりますが、特に縮小印刷の場合小さくなりすぎたりする場合もあります。

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

QWord差し込み印刷、フォルダの保存場所を変更すると

Wordで差し込み印刷をする際に、フォルダの保存場所を変更すると、
再度、差し込みデータの設定が必要になってきます。

これを避けたいのですが、なにかいい方法はないでしょうか?

使用しているファイル
・元データ(Excel)
・差し込み先1
・差し込み先2

上記のファイルがあり、元データの項目を参照して、
Word側のアドレス帳の編集から、フィルタをかけ差し込むデータを分けています。

そのため、データファイルの設定だけではなく、
データ項目の設定もする必要があるため、保存先を変更すると面倒な状況です。
共有ファイルには入れたくないファイルです。
また、データの更新が常に必要なファイルでもあります。
細かい文字設定等も必要なので、差し込み先のファイルをExcelで作ることも、
難しい状況です。
例えば、テキストボックスの中に表を作ったりすることが必要。

http://oshiete1.goo.ne.jp/qa4142966.html
こちらの質問を読みと、
>差し込み印刷用のデータファイルを絶対パスで記録している(相対パスで記録していない)ようで
とありますが、
なんとか、相対パスで記録する裏技のような方法はありませんか?

Wordで差し込み印刷をする際に、フォルダの保存場所を変更すると、
再度、差し込みデータの設定が必要になってきます。

これを避けたいのですが、なにかいい方法はないでしょうか?

使用しているファイル
・元データ(Excel)
・差し込み先1
・差し込み先2

上記のファイルがあり、元データの項目を参照して、
Word側のアドレス帳の編集から、フィルタをかけ差し込むデータを分けています。

そのため、データファイルの設定だけではなく、
データ項目の設定もする必要があるため、保存先を変更...続きを読む

Aベストアンサー

こんにちは。

> Wordで差し込み印刷をする際に、フォルダの保存場所を変更すると、
PC環境が変われば変わりますから仕方がないのは分かりますが、もともと、差し込み印刷用のデフォルト・フォルダというのは決められているはずですから、あまり場所を移動するということは避けたほうが良いのではないかと思います。

ここがデフォルトです。(以下はデフォルトパスに設定しています)
C:\Documents and Settings\{User ID]\My Documents\My Data Sources\

リンク先の「08/07/01 13:09質問番号:4142966」の Office 2000 とOffice 2003 ですと、デフォルトの設定は違ってきてしまいます。

なお、差し込み印刷用のフィールドはすでに存在して、実際にデータが変更できていることが条件です。

'-------------------------------------------
'ThisDocumentモジュール
'実行するとダイアログが立ち上がって、テーブルを選択してください。リンク先が変わります
Sub ChangingDataSourceLink()
  Dim myPath As String
  Dim myData As String
  Dim Mydoc As Document
  
  Set Mydoc = ActiveDocument
  
  myData = "DateData.xls"
  'パス名(SpecialFolders は、User ID の下のMyDocuments までの取得している)
  myPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\My Data Sources\" & myData
  If Dir(myPath) = "" Then
    MsgBox myPath & vbCrLf & "ファイルが見つかりません。", vbInformation
  Else
    On Error Resume Next
    With Mydoc.MailMerge
      .MainDocumentType = wdFormLetters
      .OpenDataSource Name:=myPath, LinkToSource:=True, _
      AddToRecentFiles:=False
    End With
    On Error GoTo 0
  End If
  Set Mydoc = Nothing
End Sub

こんにちは。

> Wordで差し込み印刷をする際に、フォルダの保存場所を変更すると、
PC環境が変われば変わりますから仕方がないのは分かりますが、もともと、差し込み印刷用のデフォルト・フォルダというのは決められているはずですから、あまり場所を移動するということは避けたほうが良いのではないかと思います。

ここがデフォルトです。(以下はデフォルトパスに設定しています)
C:\Documents and Settings\{User ID]\My Documents\My Data Sources\

リンク先の「08/07/01 13:09質問番号:4142966」...続きを読む

QWordの差込印刷でExcelデータファイルを別のものに変更したい

Wordの差込印刷でExcelデータファイルを別のものに変更したい
Wordで差込印刷を実行 一旦終了 つぎに別のファイルを差し込みしようと再度Wordファイルを開くと”つぎのSQLコマンドが実行されます・・・・・”と表示されます
このメッセージを解除することにはどうしたらよいのでしょうか また別のデータファイルに変更することはできないのでしょうか アドバイスよろしくお願いします
Word・Excelとも2007で作業しています

Aベストアンサー

メッセージボックスについては、私の場合、仕様だと思ってあきらめてます。「はい」を1個押すだけですし・・・。

データファイルの変更は、「差し込み文書」タブの「宛先の選択」ボタンから「既存のリスト・・・」で別ファイルを指定します。

Q差込後 該当する文字を 丸で囲みたいです

お世話になります。
WINDOWS-XP WORD2003です。
エクセル2003のシートに 号 生年月日があります。
(例  昭 220628)
ワードの文書に 生年月日を差込ます。
印刷用紙には 既に 明 大 昭 平 と印刷してあります。
該当する 昭 を ○丸印で囲みたいです。

VBAでできるのでしょうか。

よろしくお願いします。

Aベストアンサー

「昭」の字を印刷するのではなく、データ側に「昭」があれば
印刷用紙の 昭 部分に○を配置したいということなのですね?

マクロを使う必要なないと思いますが、レイアウトが少しだけ
面倒かもしれません。

基本は差し込み印刷での[ IF ]フィールドを使って、データ
が一致したら、○を特定の位置になるような配置をしたものを
用意して、印刷します。
http://support.microsoft.com/kb/214827/ja



{ IF { MERGEFIELD 年号 }= "明" "○" ↓
{ IF { MERGEFIELD 年号 }= "大" "  ○" ↓
{ IF { MERGEFIELD 年号 }= "昭" "    ○" ↓
{ IF { MERGEFIELD 年号 }= "平" "      ○" }}}}

のようなものを年号の差し込みに設定します。

IFの中にある折り返し位置の「↓」記号は段落内改行の記号
を入れることで、フィールドが長くなるものをわかりやすく
区切っているだけで差し込みしたときには改行はしません。

丸印○の前の空白部分の間隔を印刷用紙と合わせておけば、
該当する位置に○を配置できると思います。

「昭」の字を印刷するのではなく、データ側に「昭」があれば
印刷用紙の 昭 部分に○を配置したいということなのですね?

マクロを使う必要なないと思いますが、レイアウトが少しだけ
面倒かもしれません。

基本は差し込み印刷での[ IF ]フィールドを使って、データ
が一致したら、○を特定の位置になるような配置をしたものを
用意して、印刷します。
http://support.microsoft.com/kb/214827/ja



{ IF { MERGEFIELD 年号 }= "明" "○" ↓
{ IF { MERGEFIELD 年号 }= "大" "  ○" ↓
{ IF { MERGEFIELD 年号 }=...続きを読む


人気Q&Aランキング