Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
tsuyoshi
Partner - Creator
Partner - Creator

シートにある全てのテーブルを一気にエクスポートするボタンの設置

お世話になります。また質問させてください。

シートに例えば TB01 TB02 TB03 TB04  といくつのテーブルがあります。

それらを現在はバー上で右クリック>EXCELエクスポート>名前と場所を指定してDLというように

各々テーブル分を複数回操作しています。

それを 「一括エクスポート」のようなボタンを作って

一気に TB01 は TB01.xls TB02は TB02.xls :::::

というように一括エクスポートさせるようなことは可能でしょうか? 

ちなみにマクロ等は使わずに簡単な設定、コマンドで行いたいのですが

2 Solutions

Accepted Solutions
kentaroWakamatsu
Creator II
Creator II

先程のファイルに、ボタン増やしました。

「エクスポート(マクロ)」の方が、マクロを利用したCSV出力です。

これだと、テーブルボックスに指定した項目名で出力可能です。

 

解説に関しては、下記を参考にして下さい。

https://iw-qlikview.com/knowledge/macro/macro-csvdownload/

View solution in original post

kentaroWakamatsu
Creator II
Creator II

原因は、退職2~4は、テーブルボックスではなくストレートテーブルである事が原因のようにみえます。

おそらく作成されていたコンテナボックスは、作成済みのチャートをドラッグして組み込んだのかと思いますが、この作り方の場合、出力対象にストレートテーブルなどの計算処理が発生するオブジェクトが含まれると、この症状が発生するようです。

エクスポートモジュールをCH06の出力だけに絞り込んで、コンテナ上でCH06を表示させていると、問題なく出力されました。

回避策としては、コンテナボックスへオブジェクトを組み込む際、ドラッグせずにコンテナボックスの「基本設定」から、表示させたいオブジェクトを選択する事で、問題なく出力されるようになります。

この場合、コンテナに組み込んだオブジェクトは表示されたまま(右上に最小化して設置しています)になりますので、気になる場合はレイヤーなどで背面に設定して、左のテキストボックスの下にもっていけばよいかと思います。

 

 

View solution in original post

39 Replies
kentaroWakamatsu
Creator II
Creator II

ソートが出来ないかもしれませんが、

   [ボタン] - [アクション] 

へ、エクスポートを設定する事で可能です。

サンプルつけています。

ボタンを押すと、テーブルボックスと同じCSVが2つ出力されます。

tsuyoshi
Partner - Creator
Partner - Creator
Author

有難うございます。TB01から手動エクスポートするのと同じで、そのままキックできるようなコマンドというか指定方法はないんですね・・・ 

というのは 実データのフィールド名は DB1.日付 DB1.氏名 DB1.操作 みたいになっていて TB01の定義ではユーザにDB1.などは見せる必要がないため ラベルにて 日付 氏名 操作 のように分かりやすい通称で設定しています。

ボタンからエクスポートするには TB01からそのまま出力というよりは、 個別にフィールドを定義して(並べて)、しかもラベル名を付加できそうになかったのでご質問いたしました。

マクロ?VB?とか使ったことがないのですが それらを使えば TB01 を人間がエクスポート操作するのと同じ動作を起こせるものでしょうか?

宜しくお願い致します。

UTMKIT_56
Contributor II
Contributor II

お世話になっております。

 

下記をモジュール編集の箇所へ記載し、ボタンのアクションでマクロを実行させれば、

TB01がExcelに書き出されると思います。

 

sub ExcelOutput
       
  Set XLApp = CreateObject("Excel.Application")
  Set XLDoc = XLApp.Workbooks.Add
      XLDoc.Sheets.Add
      XLDoc.Sheets.Add
      XLDoc.Sheets.Add   
      
  Set XLSheet = XLDoc.Worksheets(1)

  XLApp.Visible = True
  XLApp.Cells.Select
  XLApp.ActiveWindow.DisplayGridlines = False
 
  XLApp.Range("A2").Select
  ActiveDocument.GetSheetObject("TB01").CopyTableToClipBoard TRUE
  XLSheet.Paste
 
  XLSheet.Name = "TEST"

end sub

 

kentaroWakamatsu
Creator II
Creator II

先程のファイルに、ボタン増やしました。

「エクスポート(マクロ)」の方が、マクロを利用したCSV出力です。

これだと、テーブルボックスに指定した項目名で出力可能です。

 

解説に関しては、下記を参考にして下さい。

https://iw-qlikview.com/knowledge/macro/macro-csvdownload/

tsuyoshi
Partner - Creator
Partner - Creator
Author

アドバイス有難うございます!こういうの初めてなのですごく勉強になります

tsuyoshi
Partner - Creator
Partner - Creator
Author

有難うございます!初めて見るのですごく興味津々です!素晴らしいですね 中をきちんと勉強させて頂き、実装に役立てたいと思います!!! ボタン1発でやりたいことが出来ました

wangwei
Contributor II
Contributor II

Qlik sense 上で同じ機能を実現できますか。

とてもいい機能と思います。

よろしくお願いします。

tsuyoshi
Partner - Creator
Partner - Creator
Author

ボタン設置とマクロ登録 CSVエクスポートについて理解出来てきました。

ちなみにこれはローカルPCでQVデスクトップを実行している場合、同じフォルダにCSVエクスポートされるようですが、QVS上で公開しているものをユーザがWebアクセスしている時、CSVをユーザPCのダウンロードフォルダにエクスポートさせたい場合、どのように定義するのでしょう?

何度も恐縮ですがアドバイスをお願いします。

 

kentaroWakamatsu
Creator II
Creator II

サンプルです。

一番下のボタンが、ダウンロードフォルダ用です。

うまく出力されない場合は、PC内のフォルダ構成が違うと思うので、exp_csv2モジュールの’vPath’を変更して下さい。

コメントアウトしていますが、デスクトップ用も合わせて記載しています。

 

また、ユーザー側にもモジュールを使ってもらう場合、設定変更が必要だったような気がします。

このあたりは、サポートに確認してみて下さい。