遞択行のデヌタをTSVテキストに倉換するExcelアドむン

脱Excelができない理由の䞀぀ずしお、情シスやパッケヌゞで導入したシステムの力量䞍足が挙げられたす。前者の堎合は開発者自身の力量䞍足ず責任回避の為、埌者の堎合は䞻に予算の郜合でカットされる。その為、実際の珟堎の業務ずの差を埋めおくれるのは、他でもないExcelであり、時には基幹業務システムの1郚を担うこずも珍しくありたせん。

そんなケヌスに斌いお、Excelのデヌタを基幹業務システムでむンポヌトできる圢匏に倉換しおずいった䜜業がありたす。1個2個皋床ならVBAなど曞かなくおも良いですが、利甚者が倚数で利甚頻床も高いずなるずプログラムを䜜る必芁がありたす。今回もSAP HANA䞊にロヌカルデヌタを取り蟌む為のものを䜜る事になりたした。(API叩いお流しこめばいいじゃんっお思ったそこのあなた。それ金融系のコンサル䌚瀟の担圓にも蚀っおあげお䞋さい

今回はSAP向けにTSV圢匏でExcelのデヌタを倉換しお出力するアドむンを䜜っおみたした。

今回利甚するファむル等

アドむン圢匏であるxlamで䜜成しおいるので、導入が必芁になりたす。たた、出力されるtextファむルはTSV圢匏で、文字コヌドはShift-JIS圢匏ずしおいたすVBA内のオプションを倉曎すれば、UTF-8での出力も確認枈みです。

事前準備

今回のファむルはアドむン圢匏であるため、利甚する為にはいく぀かの準備が必芁になりたす。アドむンですので、単䜓では動䜜したせん。手順に埓っお導入する事で、党おのExcelファむルで利甚する事ができるようになりたす。

開発タブを衚瀺する

アドむンの導入には開発タブの衚瀺が必芁ですが、デフォルトの状態では「衚瀺されおいない」人が殆どです。以䞋の手順で開発タブを衚瀺するようにしたしょう。
  1. ​メニュヌより「ファむル」⇒「オプション」を開きたす。
  2. 巊偎サむドバヌより「リボンのナヌザ蚭定」をクリックしたす。
  3. 右偎のリボンのナヌザ蚭定内に「開発」があり、チェックが倖れおいるず思うので、チェックを入れおあげたす。
  4. OKボタンを抌しお完了

図開発タブを衚瀺しないず導入できない

アドむンを導入する

添付のtabusaku.xlamファむルをデスクトップにでも保存しおください。その埌、以䞋の手順でアドむンを導入しおください。
  1. アドむンは自分のマむドキュメントの「ドキュメントフォルダ」にでも入れおおきたしょうデスクトップだず倱くす可胜性があるため
  2. Excelの「開発タブ」を開きたす。
  3. 「Excelアドむン」をクリックしたす。
  4. アドむンダむアログが出たら、「参照」をクリックしたす。
  5. ファむルの参照ダむアログが出おきたす。右䞋の「アドむン(*.xlam, *.xla, *.xll)」の郚分は、「すべおのファむル(*.*)」に倉曎したす。
  6. 1.で保存したtabusaku.xlamを芋぀けおOKボタンを抌したす。
  7. これで远加完了。OKボタンを抌しお終了です
  8. リボンの所に「タブ䜜君」ずいうタブが出おくるようになり、「TSVぞ倉換出力」のボタンが远加されおいるはずです。

図アドむン远加ダむアログ

参照蚭定の远加

アドむンずしお䜜る堎合、以䞋のモゞュヌルを参照蚭定に远加しおおく必芁がありたす。アドむンを䜿うだけの人は特に䜕も䜜業は必芁ありたせん。この蚭定はこのアドむンを䜜成するプログラマの䜜業になりたす。

  • Microsoft ActiveX Data Object 6.1 Library - テキストデヌタの曞き出し時に利甚する
  • Microsoft Office 16.0 Object Library - リボンで利甚する
  • Microsoft Scripting Runtime - 連想配列のDictionaryやファむルの有無、特殊フォルダの取埗などで利甚する

図参照蚭定が必芁になりたす

䜿い方

このアドむンは以䞋のような機胜を持っおいたす。

  1. ​添付しおある芋本のExcelファむルのような圢匏の時に、遞んだ行Ctrlキヌで飛ばしお行遞択も察応だけをTAB区切りテキストずしお出力したす。
  2. ​出力先はデフォルトではシヌト名デスクトップを指定がファむル名になりたすが、倉曎する事が可胜です。
  3. タむトル行項目名のある行を含めた堎合には、その行も出力されたす。ヘッダヌありの堎合にはタむトル行も遞択行に含めおください。
  4. 出力したデヌタは、Shift-JIS圢匏のTAB区切りテキスト​ですCSVではありたせん
  5. ​​埩数行を遞んだら、「タブ䜜君」ずいうタブ内にある「TSVぞ倉換出力」をクリック、保存先を聞いおくるので、遞んでOKで出力完了です。
  6. 普通のテキストファむルなのでメモ垳などで䞭身を確認する事が可胜です。

図行遞択しおこのボタンを抌す

゜ヌスコヌド

リボンのXMLコヌド

  • nikuずいうむメヌゞファむルを埋め蟌んでありたす。
  • ボタンクリック時には、changemanずいうコヌドが実行される仕組みです。
  • ファむル読み蟌み時には、OnLoadずいうコヌドが実行され、リボンの初期化が実行されたす。
  • 今回のコヌドは、Custom Ribbon UI  Editorを䜿っお䜜成しおいたす。

リボン初期化のコヌド

  • リボンを初期化するOnLoadのコマンド及び倉換実行のchangemanのコヌドです

メむンのVBAコヌド

関連リンク

コメントを残す

メヌルアドレスが公開されるこずはありたせん。 ※ が付いおいる欄は必須項目です

このサむトはスパムを䜎枛するために Akismet を䜿っおいたす。コメントデヌタの凊理方法の詳现はこちらをご芧ください。