• 締切済み

メール添付の内容を別のEXCELに自動転記したい。

1)VBAをこれから学ぶレベルですが、日々メールで送られてくるPDFまたはExcelの特定の内容(納期)を別のExcelに転記するのをVBAで自動化したいのですが、可能でしょうか。 (1)PDFの参照欄=英数字、EXCELの参照欄=日付(dd.yy.mm) (2)別のExcelは基幹ソフトから抽出(セルおよび列内に文字・数字が混じっている) (3)納期の変更が分かるように、特定の検査値の新しい列に10分毎、1日2回など定期的に転記されるようにする。また変更された日付を色別し、遅延は赤、前倒しは青とする。 2)メール添付のPDFの内容を読み取り、その内容の特定の名前のフォルダ(複数、増加する)に保存することもVBAで自動化したいと考えています。 説明内容が不十分の場合はご指摘ください。 すべて手作業には限界があるのて少しでも簡略化したいのですが、大変困っています。 初心者でもわかるようにご教示いただけたら幸いです。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

#2です。折角補足をいただいたので、こちらの補足を書きます。 しかし楽観視できる材料は人的にも、問題内容にもありません。 (1)たとえばPDFファイルはWORDに落とすことを考えます。 Excelへ落とす方が多分良いのですが、PDFは文章系だと思うので、まずはワードに移すほうが易しいと思う。 問題は、原資料がマス目系(表計算系)の方が扱いやすいのだが、原資料はどうなっているか、見えないし、見せない質問者が多いので困る。 ーー 最近のワードはPDFファイルを直接読めるようだ。少し前は、専用の市販の「PDF処理のソフト」が必要だったが、今はできるようで身近になった。(例 いきなりPDF) 無料のソフトもあるようだ。表形式ならエクセル・シートに落とせるかも。 ーー ただしワードの文章形式の文字の中に、日付があるとして、どうしたら見つけられるか、部外者は判らない。この点について、付近に項目見出しがつねに発注者すべてにあるのか、紛らわしい項目はないのか。質問に書かない質問者だから、質問者は、この質問のコンピュター処理をできるレベル段階ではないと想像したわけ。 ーー 問題点 Wordの文章に読み込ませるには1文書あたり相当時間がかかるようだ。何十通も読処理するには耐えられないかも。 ーーー Wordの文章に対し、語句(例 「納品日」という漢字)を見つけて、その後で、付近にある日付(例 平成何年何月何日)を見つけようとすると、私のレベルでは、語句検索しかないと思う。 その1例を挙げるのでやってみたら。 エクセルVBAでなく、WORのDVBAであり、勉強資料は、解説本が極く少なく、WEB記事しかない。 Sub 語句検索() '検索するキーワードを設定します x = InputBox("検索語") ActiveDocument.StoryRanges(wdMainTextStory).Select ' Selection.Find.Text = x ' 検索する方向を指定します Selection.Find.Forward = True If Selection.Find.Execute Then With Selection P = .Range.Information(wdActiveEndPageNumber) L = .Range.Information(wdFirstCharacterLineNumber) MsgBox P & "ページ" MsgBox L & "行" End With End If End Sub このコードも根幹はWEB記事から流用。 ーー 上記がわかったとしても自動鵜的に何十通処理するにはVBAが必要だろう。 プログラムを自力で組めるか.内容変更に対処できるか。

aicc
質問者

お礼

コードまで書いて下さっていましたのに、確認およびお礼が遅れ申し訳ありません。 有料ソフトなしでWORDからPDFを読めるのですね。 まずWORDを調べてみます。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

やりたいことだけ「思い」があるだけで、実際にやる力や、一般論的な知識さえも、質問者は、現状ないようだ。そういうPDF->エクセルの変換ソフトがある場合を除き。、ファイル形式(とは何かわかっていますか)の変換など、初心者には手を出せない分野だ。ファイル変換の何たるかもわかっていないのでは。 まずGoogleででも「pdf 表 エクセル コピペ」「pdf 表  エクセル 」などで照会して(10万件の記事がある)、よく読んで、質問者ができる分野をやってみてからにしたら。 こういうこともやっていないようだ。 PDFデータが表形式でないと、処理がむつかしくなる。 コンピュター処理は、源データに対し、処理が簡単になるように、作成相手先にデータ作成を変えさせるぐらいの力がないと進まないものだ。 ーー それを、原データには、日付(納期)があっるらしいが、その日付のあり場所は何を目当てに探して見つけられるのか。そういうことも、質問に書けてないということは、コンピュター処理のイの一番のことを認識していないようだ。人間なら前後の文章などをパッと見てわかるのだろうが、セル番地などがないデータでは、突き止めるのは難しいよ。 ーー そんなレベルで、仕事に絡んで何かをするなんて、危なっかしいし、自信過剰だ。 システムの業者に任すべきだと思う。 ーー それに事務処理的な仕事のデータ処理には、VBAが必要というのが持論ですが、1-2か月でやれるようになる人は、特別な人と思う。 すべて自分の実力の状況とプログラムというものを甘く考えているところにあると思う。 こういう安直に、質問コーナーに質問し、1000字ぐらいの文章やコードの回答でわかるというのは、経験からしてむつかしいと思う。あるいはまる写しできる回答をくれということか。 PDF(項目の出現が規則正しい表形式が望ましい)からエクセルに変換する、フリーソフトなどないか、さがすとか始めるとか。

aicc
質問者

補足

ありがとうございます。 必要なデータはPDFの決まったセル番地だけにあるわけではなさそうなのですが、まずはPDFのEXCEL化ができるかどうかを調べてみます。

全文を見る
すると、全ての回答が全文表示されます。
  • hawa254
  • ベストアンサー率43% (259/589)
回答No.1

PDFやメールがどういった内容なのかはわかりませんが、 Excelから開くことが出来る型式でいったん保存できれば、 VBAでファイルオープンして読み込むことが可能です。 また、特定の名前のフォルダに保存することも可能です。 具体的なVBAを記述するのには情報不足なのでそこまでしませんが、 この程度ならExcelの「マクロの記録」とWebサイトの情報を駆使すれば、 作成可能と考えます。

aicc
質問者

補足

ありがとうございます。 詳細をご説明したいのですが、的を得ない内容でしたらご容赦ください。 PDFには、注文内容と納期の記載があり、頻繁に受信します。 送信者により書類の型式が異なるので、すべての自動化が難しければ特定の送信者のみの転記だけでも何とかしたいと思います。 EXCELから開くことができる型式で保存とは、TEXTやCSVへということでしょうか?PDF変換ソフトで、編集やEXCELへの書き出しができない環境です。 EXCELへの転記は、送付されるEXCELから納期を抜き出して別シート(基幹ソフトから出した)のEXCELに書き出し、セルを&で結合して(文字)一意の値を作成してVlookで検索しようとしていますが上手くいかず、INDEX/MATCHでも今、取組中ですがエラーが出ます。 メールで送信されるEXCELの裏に数式があるかどうかは不明で、列内に数字文字が混在しているようです。 一件の注文内容で同日付、同じ注文番号、同じ品番、同じ数量、納期のみ異なるものあります。 また、同じ注文番号で複数の品番、異なる納期というものもあります。 その他必要な情報がありましたら、教えてください。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの自動転記について

    エクセル2003です。 行動予定一覧表を作成中です。 シート1に一覧表 シート2には日付別になっており、 その日付別のを一覧表に自動転記させたいと思っています。 画像をご覧になっていただくのが解りやすいと思うのですが、 項目は、一覧表も日付別も同じものです。 ただ、一覧表にはシート2では欄がなかった日付を加えたいのですが、 これも計算式にて表示出来たらと思っています。 一覧表には、日付別シートの表の中で空欄の場合は、転記されないようにしたいのですが、 可能でしょうか? VBAは苦手なので、出来れば計算式で乗り切りたいと思っています。 何かいい案等があれば教えていただきたいです。 よろしくお願いします。

  • エクセルの自動転記について

    エクセルの自動転記について シート1にデータを入力します。 A欄に会社名、B欄にデータ1、C欄にデータ2とします。 A欄と同じ会社名のシートのA欄にデータ1、B欄にデータ2が上から順に自動転記されるようにしたいのですが 教えていただきたいです。 よろしくお願いします。

  • マクロの自動転記について教えてください

    マクロの自動転記について教えてください 別シートで集計したデータをマクロを使って図の左端G列に表記させました このG列のデータにある日付(G3)は関数でその日のものですがこのG列のデータを図にある日付と同じ場所に毎日転記させたいのですがどなたか教えていただけませんか EXCELについてはある程度解っているつもりですがマクロは全くのド素人で勉強中ですが宜しくお願い致します

  • Excelで別ブックに内容を転記する方法

    Excelで別ブックに内容を転記する方法を教えていただきたいです。 あるワークブック(転記先・画像上)上にデータの一覧表を作成したいと考えています。 その一覧表には項目が複数ありますが、全てではなく一部の項目のみ、 別のワークブック(転記元・画像下)から内容をコピーした上で、 自動的に転記先の表の最下行に追加できるようにしたいと考えています。 転記元のワークブックは複数ありどの列にどの項目の内容が書いてあるか、は変わりませんが、 何行分の項目が入力されているか、は一定ではありません。 項目1の記入があれば同じ行の他の項目も全て記入されています。 ただし転記先に必要のない項目(画像のXYZなど)もあり、 表と項目の並びも転記先と転記元で異なっています。 マクロを用れば可能かと思い自分なりに調べては見たところ、 ActiveSheetの指定した列の1行目~最下行を選択 ThisSheetの指定した列の最下行に張り付け という流れを必要な項目分だけ繰り返せばいいのかと思いましたが、 実際にどのように式を組み合わせていけばいいのかが分かりませんでした。 説明も稚拙で分かりづらいかと思いますが、 ご回答いただけましたら幸いです。宜しくお願いいたします。

  • エクセル2007:シート内のデータの自動転記

    Excle2007を使用しています。 シート1のデータをシート2に自動で転記したいと思っています。 シート1 作業件名ごとにその内容、作業者名が書いてある表。 1行ににつき作業1件 A列:日付 B列:作業件名 C列:内容 D列:作業者名 シート2 作業者ごとに従事した作業をまとめた一覧表で、ひとりにつき1ページ。 表の形式(見た目)はシート1とはまったく別のもの。 作業者ごとに空欄の表が既に作られており、 1ページ目:Aさん 2ページ目:Bさん という風に、1シートに改ページしながら全ての作業者について1ページずつ一覧表になっている。 1ページは25行を使用しており、 Aさん(1ページ目)は1~25行(Bさん(2ページ目)は26~50行)となる。 1ページ目の表のうち、シート1のデータを入れられる行は11~21行。 3件あれば3行使って残り8行は空欄ということになります 日付欄はシート2のA11~A21 件名欄はシート2のB11~B21 内容欄はシート2のD11~D21 シート2には、作業者の住所や生年月日など、シート1にない項目があらかじめ入力されている。 いつもはシート1を入力後に作業者基準で並べ替えをして印刷し、 シート2の該当する作業者のページに手打ちでデータ入力しています。 シート1のデータをシート2の該当箇所に転記するだけなので、シート1が完成した段階で シート2を自動で作れたら作業時間の短縮になると思い、考え始めました。 が、VBAに詳しくないため、どこからどう手をつけたらいいものかわかりません。 お詳しい方、お知恵をいただけましたらと思います。 不足情報等ございましたらご指摘いただけましたら補足をさせていただきますので どうぞよろしくお願いいたします。

  • 特定セルの内容を更新したら、その更新日を自動的に表示する方法について

    エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させたいと思っております。 例えば『A1』へ新規に文字入力したり、セルの内容を更新した時に、セル『B1』にその日の日付が自動で表示される。 そして、違う日にもう一度、同じ欄に入力すれば、その入力した日付に随時更新されるようにするための方法を教えていただければ幸いでございます。 御手数ですが、エクセル関数またはVBA、マクロのいずれかで実現可能な方法があれば教えて下さい。 何卒、宜しくお願いいたします。

  • 急!!Excel VBA 転記マクロを教えて下さい

    Excel VBA超初心者です、 急ぎ作らなければならない資料があり、ご助力願います。 次の様な転記するアクションをコマンドボタンに設定したいです。 Sheet1の列A(先頭セルA2)に入力したデータを、 追加した(入力間違い等を除き、保存した)データ分だけ Sheet2の列B(先頭セルB3)の最終行から転記させていく。 列Aに入力したデータは、並び替えをするので (この分は、今回のVBAに含みません。入力・転記後、Sheet1で普通に並び替えをします。) 列Aと列Bのデータの順番が異なる。 以上です。 どうぞ宜しくお願いします。

  • 条件に合う行だけを切り取り→別ブックに自動転記

    【環境】 Windows7 Office2013 【目的】 Excelで作ったcsvデータを、条件に合うものだけ抜き出して別ブックに自動で転記したい (1つの表を2つに分けたい) 【詳細】 ※オートフィルを使うという前提で説明しますが、目的の結果が得られるのであれば   オートフィル以外の方法でも構いません。 csvのデータがあります。 その中からオートフィルを使って「M列」で条件を選択(複数)し、その結果を 抜き出して(切り取って)別のブック(別シートではダメ)に自動転記したいです。 最終的に、元々の表Aから条件に合ったものだけを表Bとして保存。 表Aから表Bのデータを抜いたものは、そのまま表Aとして上書き保存。 ・・・したいです(添付画像参照) ネットで調べたところ、表の中に検索条件を入れる欄を作って・・・という方法 ならあったのですが、データ(csv)はそのままシステムに取り込むので 余計な欄を増やしたり等はできません。 そこで行き詰ってしまいました。 【表の詳細】 A~S列まであります。 項目名などの行は無く、1行目からデータが入っています。 ※行数は、都度変化します。 M列の中から「90」「95」の物だけを抜き出して、表Bとしたい。 【やってみたこと】 オートフィルでの操作を「マクロの記録」で記録しようとしたのですが、 オートフィルの結果だけを「切り取る」ことが出来ず、ダメでした。 どなたかお知恵をお貸しください。

  • エクセルの転記方法がわかりません。

    エクセルの転記方法がわかりません。 excel2000を使用しています。 以下のような表があります。A列は全て空です。 A列│B列         │○○社●●店   │商品1   │商品2   │       ←空欄   │○○社■■店   │商品3   │       ←空欄   │○○社▲▲店   │商品2   │商品4 やりたいことは以下の通りです。 B列の「○○社」で始まる文字列をA列に転記です。 ただし次の「○○社」が出てくる直前の空欄、或いは空欄の1つ上の商品の所までです。 A列       │B列                │○○社●●店 ○○社●●店│商品1 ○○社●●店│商品2          │       ←空欄(ここのA列に○○社●●店が入っても構いません)          │○○社■■店 ○○社■■店│商品3 上記のようになるイメージです。 VBAを組んで行えばよいのでしょうが、 正直、どのように行ったらよいか見当がつかない状態です。 お教えいただけると大変有難く存じます。何卒宜しくお願い致します。

  • エクセルにて、ある表を別の表に転記したい

    エクセルに係る質問です。 2種類のエクセル表(表1と表2)があります。2つの表とも、担当者ごとの売上高を取引先別、販売ルート別、商品別に記入するための表ですが、表1はマスターの表と呼ばれ、全担当者ごとの全ての取引先ごとの、全ての販売ルートごとの、全ての商品ごとに売上高を記入できるセルが設けられた表で、一方、表2は毎月ごとの実績表と呼ばれ、実際に売上があった商品のみにつき、その売上高がどの担当者のどの取引先のどの販売ルートのどの商品を販売することで発生したかが分かる表となっています。(つまり、売上があった商品しかセルが設けられていません) ここで質問ですが、表2の内容を表1に自動的に転記するような方法は何かないでしょうか? (会社には販売管理ソフトがパソコンに入っていて、各営業担当者は毎日の売上高をそこに入力しています。このソフトにより毎月の担当者ごとの売上高をエクセルで出力することができるのですが(これが表2ですが、表2は自動的に作成されます)、この表2の結果を表1に転記する必要があるのです。 表1に転記する目的は毎月の結果を半年毎、1年毎に累計するためです。  営業担当者は100名近くおり、この作業を手作業で行うことは非常に困難です。 何とか自動的にこの転記が出来る方法(エクセル上で自動転記が出来る関数があるか? または、別のオフィースアプリと連携して出来ないか? または、別途ソフトを購入して出来ないか? 等々色々な可能性を探しています。) エクセルに強い方がいらっしゃったら是非アドバイスをよろしくお願い致します。

専門家に質問してみよう