5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
受講生さんの投稿
(投稿ID: 3053)
基礎編の知識だけでここまでのことができるなんて!
実際にファイルが作成されたのを確認して、心底感動しました!!
マクロを書いている間も楽しかったです^^
処理に時間がかかるのは、基礎編の知識で書いているからですか?
それともこの程度の処理であれば、発展編以降の知識で書いてもこのくらいは
時間がかかるのでしょうか?
また、作成されたファイルを開こうとすると以下の確認メッセージが表示されます。
”開こうとしているファイル'a.xls'は、実際にはその拡張子が示すファイル形式ではありません。
このファイルを開く前に、ファイルが破損していないこと、信頼できる発行元からのファイルであることを確認してください。
ファイルを今すぐ開きますか?”
「はい」をクリックすると中身は問題なく表示されますが、保存の構文に問題あるのでしょうか・・・
ちなみに保存にかかわる構文(抜粋)は以下の通りです。
Dim sakuseisaki
Dim filen
sakuseisaki = Workbooks("全部1つ").Worksheets("部署情報").Range("D" & busyo).Value
filen = Workbooks("全部1つ").Worksheets("部署情報").Range("E" & busyo).Value
ChDir "C:\Users\hasegawa\Desktop\ensyu_copy\01-課題一式"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\hasegawa\Desktop\ensyu_copy\01-課題一式\" & sakuseisaki & "\" & filen & "", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ご教授いただければ幸いです。
よろしくお願いいたします。
小川 慶一さんのコメント
(コメントID: 4511)
> また、作成されたファイルを開こうとすると以下の確認メッセージが表示されます。
ご質問の件。
エクセルがファイルを保存するときのファイル形式と実際に保存させるファイルの形式が合わないことから起きている問題です。
講座内で提示したサンプルコードでは FileFormat:=xlExcel8 と、 .xls の拡張子のファイルを指定しています。
シート「部署情報」のE列でも、ファイル名を .xls の拡張子で指定していますね。
この場合は、両者とも .xls なのでOKです。
一方、いただいたサンプルコードでは、
FileFormat:=xlOpenXMLWorkbookMacroEnabled としていますね。これは、拡張子 .xlsm のファイルを指定する書き方です。
> 処理に時間がかかるのは、基礎編の知識で書いているからですか?
ファイルの作成が絡むとそうでない場合に比して、目に見えて遅くなりますね。
これは基礎編レベルだからということではないです。発展編の方法でも、ファイルを保存する部分は時間がちょっとかかります。
それはそうと、基礎編では、「キレイに仕上がる」とかそういうことは目指していません。最低限の道具をお渡しして、とにかくその道具だけで仕事をできるようにということで例題とその解説を用意しています。
なんで、発展編レベルの知識があれば簡単に解決できることも、あえて、力業で行っいるようなところがあります。
ということで、では、発展編レベルになるとどうなるか?ということですが。。
[1] 処理速度
同様のアルゴリズムで処理する分には対して変わりません。
まったく違うアプローチの構文で処理する場合は大きく向上します。
[2] コードの可読性
大きく向上します。
1行が横長になることも減りますし、同じ機能を実現するのに必要な行数も減ります。
その結果、可読性が高まるので、より複雑な処理を書ききるだけの余裕も生まれます。