アカウント名:
パスワード:
俺もiTextやApache PDFBoxでゴチャゴチャとpdfを扱った経験はいくつもあるけどExcelのマクロだって、使ってみりゃいい具合に強力なんよな。VBAはちょっと慣れないけど。セル結合もセルの幅も背景色も、ロジックで調整し放題だし。DBにも普通に繋げられるし。他のドキュメントも開けるし。
マクロは自分一人で管理する分にはいいと思うよ。VBA環境はいい所もある。
ExcelVBAの地獄なところは、・テキストがxlsmに埋め込まれてソース管理できない(工夫すればできるが労力が無駄)・テストが書けない(工夫(ry・エラー行が特定できない事がある・謎のリソース不足で落ちる(VBAで不足するほどリソースを大量に使う発想がそもそもおかしいのだが)・TryCatchがない・動的配列が無い(正確にはそういったものは皆無ではないがReDimとかいつの時代のアレだ)・辞書(連想配列)が使い辛い・当然ラムダとかない、というか関数参照が碌に扱えないのでちょっと本腰入れてプログラム書こうとか
>テキストがxlsmに埋め込まれてソース管理できない(工夫すればできるが労力が無駄)>編集環境がVisual Basic Editorに縛られる
Exportすれば良い。去年の後半から初めてVBAを触りだし、今は数万行のマクロを組んでいるけれど、テキストエディタ上で編集して、VBEに貼り付けてます。完成したらExport。VBEからテキストエディタにコピペしないのはコピペの方向を一方通行に限定することで完成品にミスが紛れ込むのを防ぐ目的がある。
ActiveWorkbook.VBProject.VBComponents(n).Export(出力パス)?
後、Formもテキスト化した方がいい。(Functionの唯一の参照先がFormのプロパティで、VBAから使っていないから消して、わーーーとなったりしない様に)ただし、AccdbではFormのテキストがUnicode(16ビット)で出ますので注意。(ADODBにコード変換機能有(ただしFile To File))
Exportを自動化したいなら、xlmやxlsmに含まれるvbaproject.binをデコードするツールを使った方が良いと思う。
おまえら元コメの「(工夫すればできるが労力が無駄)」を無視しすぎ
そこに突っ込む人は「労力が無駄」を無視しすぎ
他のプログラミング言語や環境における、もろもろの習得コストや構築コストや導入コストを無視し過ぎ。例えば動作環境が事務方のPC前提なら、何が最適だと思う?
そもそも「Excelが欲しい」と言うクライアントを言いくるめる労力ががが。「んただ事したら時間がかかろうが」と言っても「OfficeにはAccessだって入って居るだろ?」ってのも簡単に通りはしない。
AccessなしのOffice買ってきてたり、Accessも入ってるけどインストールしてくれてなかったり、でなんだかんだ入っていないことも多い。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
自分もそうするかもなあ (スコア:0)
俺もiTextやApache PDFBoxでゴチャゴチャとpdfを扱った経験はいくつもあるけど
Excelのマクロだって、使ってみりゃいい具合に強力なんよな。
VBAはちょっと慣れないけど。
セル結合もセルの幅も背景色も、ロジックで調整し放題だし。
DBにも普通に繋げられるし。他のドキュメントも開けるし。
Re: (スコア:0)
マクロは自分一人で管理する分にはいいと思うよ。VBA環境はいい所もある。
ExcelVBAの地獄なところは、
・テキストがxlsmに埋め込まれてソース管理できない(工夫すればできるが労力が無駄)
・テストが書けない(工夫(ry
・エラー行が特定できない事がある
・謎のリソース不足で落ちる(VBAで不足するほどリソースを大量に使う発想がそもそもおかしいのだが)
・TryCatchがない
・動的配列が無い(正確にはそういったものは皆無ではないがReDimとかいつの時代のアレだ)
・辞書(連想配列)が使い辛い
・当然ラムダとかない、というか関数参照が碌に扱えないのでちょっと本腰入れてプログラム書こうとか
Re:自分もそうするかもなあ (スコア:0)
>テキストがxlsmに埋め込まれてソース管理できない(工夫すればできるが労力が無駄)
>編集環境がVisual Basic Editorに縛られる
Exportすれば良い。
去年の後半から初めてVBAを触りだし、今は数万行のマクロを組んでいるけれど、テキストエディタ上で編集して、VBEに貼り付けてます。
完成したらExport。
VBEからテキストエディタにコピペしないのはコピペの方向を一方通行に限定することで完成品にミスが紛れ込むのを防ぐ目的がある。
Re: (スコア:0)
ActiveWorkbook.VBProject.VBComponents(n).Export(出力パス)?
後、Formもテキスト化した方がいい。(Functionの唯一の参照先がFormの
プロパティで、VBAから使っていないから消して、わーーーとなったり
しない様に)
ただし、AccdbではFormのテキストがUnicode(16ビット)で出ますので
注意。(ADODBにコード変換機能有(ただしFile To File))
Re: (スコア:0)
Exportを自動化したいなら、xlmやxlsmに含まれるvbaproject.binをデコードするツールを使った方が良いと思う。
Re: (スコア:0)
おまえら元コメの「(工夫すればできるが労力が無駄)」を無視しすぎ
Re: (スコア:0)
そこに突っ込む人は「労力が無駄」を無視しすぎ
Re: (スコア:0)
他のプログラミング言語や環境における、もろもろの習得コストや構築コストや導入コストを無視し過ぎ。
例えば動作環境が事務方のPC前提なら、何が最適だと思う?
Re: (スコア:0)
そもそも「Excelが欲しい」と言うクライアントを言いくるめる労力ががが。
「んただ事したら時間がかかろうが」と言っても「OfficeにはAccessだって入って居るだろ?」ってのも簡単に通りはしない。
Re: (スコア:0)
AccessなしのOffice買ってきてたり、
Accessも入ってるけどインストールしてくれてなかったり、
でなんだかんだ入っていないことも多い。