PDFを、Excelに変換するということはよくあると思います。
私は、実務ではそんなに使いません。
しかし、最近、必要に迫られて、既存の知識を利用して、整形してみました。
目次
PDFをExcelに変換した後の問題
こんにちは。伊川(@naonaoke)です。
今回は、PDFをExcelに変換したのちの、問題です。
さすがに、VBAで、PDFをExcelに取り込むということはしません。
それは、PDFのページ数が多いからです。
書籍なので、VBAで実行しても、途中で、停止すると思います。
しかも、VBAで、PDFをExcelに取り込めるか、どうかもわかりません。
Pythonを利用すればできそうな気もします。
PDFを、Excelに変換するソフトは、結構ありますよね。
何を利用するかという問題はありますが、私は、Wondershare PDFelementを利用しています。
無料でも利用できますが、スタンプが入ります。
永久ライセンスを購入しましたが、使い方に関しては、難しくありません。
しかし、Excelに取り込んだけど、その後は、どのように整形するのかという問題です。
このブログはこんな人にお勧め
- PDFのデータを、Excelに取り込みしたい人
- PDFのデータを、Excel等で、有効活用したい人
- VBAを勉強している人
このブログを、読み終わるころには・・・・
紙を利用する前に、データを有効活用しましよう。
結局、しおりを利用するより、ハイパーリンクを利用する方がはるかに便利だということがわかります。
VBAで、整形する
VBAや、プログラム全般に言えることですが、便利だと実感がわかないと、勉強しません。
なんでもそうですが、面白いという気持ちが大切です。
今回の題材は、司法書士試験の過去問です。
予備校から、配布されるPDFのテキストを、もらってもどうしようもありません。
なので、これを、使いやすいように、アレンジします。
特に難しいVBAは利用しません。
今まで、動画、ブログで紹介した内容で、アレンジします。
VBAで整形する 作業手順 その1 PDFをExcel化した状態
こんな状態になっています。
セルの中に、丸ごと、問題が記載されています。
また、答えは、次の、シートに記載されています。
いつも、思うのですが、問題を左、解答を、右にすれば、効率よい勉強ができると思うのは、私だけでしょうか?
過去問は、解くものではなく、読むものだと思います。
しかも、シート数は696です。
人海戦術では、やってられません。
VBAで整形する 作業手順 その2 問題文の横に回答を転記する
とりあえず、こんな形にしたいと思いました。
問題は、Table 7にあります。
解答は、Table 8のRange(“A2”)にあります。
解答を、Table 7のRange(“H5”)に転記をしたいと思いました。
このような場合には、ループを利用します。
For~Next構文です。
上記のコードで、アッという間ではありませんが、1分ほどで転記が完了しました。
特に、難しくはないと思います。
3年前くらいに、数値型の変数には、数字を足すことができるんだと、感動したことが、記憶に新しいです。
VBAで整形する 作業手順 その3 問題文と、解答を整形する
1つのセルに、問題文も、解答があってもどうしようもできません。
このまま利用するには、拷問に等しいです。
だから、問題と解答を、セルに転記します。
1問ずつ、コピーして、貼るなんてことはません。
Split関数を利用します。
つまり、vbLfで、区切られています。
特定の文字で区切られているなら、Split関数の出番です。
このように、問題文と、解答が、セル毎に格納できました。
読みやすいですよね。
VBAで整形 作業手順 その4 なぜ整形したのか?
それは、もちろん、ACCESSに取り込むためです。
1問ずつ、ACCESSに入力することで、その問題をデータベース化できるからです。
一旦、ACCESSに格納してしまえば、後は、いかようにも、自由自在に、データを扱えるからです。
ここがポイント
入力規制は、絶対に必要です。会社で、利用するVBAは、もっと適当に書いています。
会社で利用するコードは、使い捨てが多いです。
とりあえず、やりたいことが実現できれば問題ないからです。
このように、サクサクっと、カンタンなコードが記載できるようになると、あなたのVBAのスキルは、中級なのかなと思います。
まとめ
今回は、競馬以外で、どのように利用するのかを紹介しました。
最近は、競馬も、データが築盛してきたので、データを利用して、予想するのが楽しいですね。
試験問題も、データ化することで、分析が可能になり、弱点を知ることができます。
今回も最後まで読んでいただきありがとうございました。
今回のサンプルファイルは、No289です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。