- 締切済み
メール添付の内容を別のEXCELに自動転記したい。
1)VBAをこれから学ぶレベルですが、日々メールで送られてくるPDFまたはExcelの特定の内容(納期)を別のExcelに転記するのをVBAで自動化したいのですが、可能でしょうか。 (1)PDFの参照欄=英数字、EXCELの参照欄=日付(dd.yy.mm) (2)別のExcelは基幹ソフトから抽出(セルおよび列内に文字・数字が混じっている) (3)納期の変更が分かるように、特定の検査値の新しい列に10分毎、1日2回など定期的に転記されるようにする。また変更された日付を色別し、遅延は赤、前倒しは青とする。 2)メール添付のPDFの内容を読み取り、その内容の特定の名前のフォルダ(複数、増加する)に保存することもVBAで自動化したいと考えています。 説明内容が不十分の場合はご指摘ください。 すべて手作業には限界があるのて少しでも簡略化したいのですが、大変困っています。 初心者でもわかるようにご教示いただけたら幸いです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
#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が必要だろう。 プログラムを自力で組めるか.内容変更に対処できるか。
- imogasi
- ベストアンサー率27% (4737/17069)
やりたいことだけ「思い」があるだけで、実際にやる力や、一般論的な知識さえも、質問者は、現状ないようだ。そういうPDF->エクセルの変換ソフトがある場合を除き。、ファイル形式(とは何かわかっていますか)の変換など、初心者には手を出せない分野だ。ファイル変換の何たるかもわかっていないのでは。 まずGoogleででも「pdf 表 エクセル コピペ」「pdf 表 エクセル 」などで照会して(10万件の記事がある)、よく読んで、質問者ができる分野をやってみてからにしたら。 こういうこともやっていないようだ。 PDFデータが表形式でないと、処理がむつかしくなる。 コンピュター処理は、源データに対し、処理が簡単になるように、作成相手先にデータ作成を変えさせるぐらいの力がないと進まないものだ。 ーー それを、原データには、日付(納期)があっるらしいが、その日付のあり場所は何を目当てに探して見つけられるのか。そういうことも、質問に書けてないということは、コンピュター処理のイの一番のことを認識していないようだ。人間なら前後の文章などをパッと見てわかるのだろうが、セル番地などがないデータでは、突き止めるのは難しいよ。 ーー そんなレベルで、仕事に絡んで何かをするなんて、危なっかしいし、自信過剰だ。 システムの業者に任すべきだと思う。 ーー それに事務処理的な仕事のデータ処理には、VBAが必要というのが持論ですが、1-2か月でやれるようになる人は、特別な人と思う。 すべて自分の実力の状況とプログラムというものを甘く考えているところにあると思う。 こういう安直に、質問コーナーに質問し、1000字ぐらいの文章やコードの回答でわかるというのは、経験からしてむつかしいと思う。あるいはまる写しできる回答をくれということか。 PDF(項目の出現が規則正しい表形式が望ましい)からエクセルに変換する、フリーソフトなどないか、さがすとか始めるとか。
補足
ありがとうございます。 必要なデータはPDFの決まったセル番地だけにあるわけではなさそうなのですが、まずはPDFのEXCEL化ができるかどうかを調べてみます。
- hawa254
- ベストアンサー率43% (259/589)
PDFやメールがどういった内容なのかはわかりませんが、 Excelから開くことが出来る型式でいったん保存できれば、 VBAでファイルオープンして読み込むことが可能です。 また、特定の名前のフォルダに保存することも可能です。 具体的なVBAを記述するのには情報不足なのでそこまでしませんが、 この程度ならExcelの「マクロの記録」とWebサイトの情報を駆使すれば、 作成可能と考えます。
補足
ありがとうございます。 詳細をご説明したいのですが、的を得ない内容でしたらご容赦ください。 PDFには、注文内容と納期の記載があり、頻繁に受信します。 送信者により書類の型式が異なるので、すべての自動化が難しければ特定の送信者のみの転記だけでも何とかしたいと思います。 EXCELから開くことができる型式で保存とは、TEXTやCSVへということでしょうか?PDF変換ソフトで、編集やEXCELへの書き出しができない環境です。 EXCELへの転記は、送付されるEXCELから納期を抜き出して別シート(基幹ソフトから出した)のEXCELに書き出し、セルを&で結合して(文字)一意の値を作成してVlookで検索しようとしていますが上手くいかず、INDEX/MATCHでも今、取組中ですがエラーが出ます。 メールで送信されるEXCELの裏に数式があるかどうかは不明で、列内に数字文字が混在しているようです。 一件の注文内容で同日付、同じ注文番号、同じ品番、同じ数量、納期のみ異なるものあります。 また、同じ注文番号で複数の品番、異なる納期というものもあります。 その他必要な情報がありましたら、教えてください。 よろしくお願いいたします。
お礼
コードまで書いて下さっていましたのに、確認およびお礼が遅れ申し訳ありません。 有料ソフトなしでWORDからPDFを読めるのですね。 まずWORDを調べてみます。ありがとうございました。