Install Libreoffice (many linux distributions provide ready installers) on Windows Systems Version 6.0.6.2 of libreoffice has been reported to work well. https://gist.github.com/YujiSoftware/5429273, Redmine から REST API という機能で情報を取得しています。 まったり覚書 is powered by Wordpress. > 0 Then         ‘拡張子がある場合は、拡張子を省く         sheet_name = Left(sheet_name, InStrRev(sheet_name, ".") What is going on with this article? ' excelColor = red + green*256 + blue*256*256, ' htmlColor = red*256*256 + green*256 + blue, ' SelectionにSpecialCells(xlCellTypeVisible)を付けると, ' 空行を削除 :Replace(.Item(1).Text, vbLf & vbLf, vbLf), ' MsgBox "クリップボードにコピーしました。" & vbCrLf & vbCrLf & strALL, ' 【入出力】 striniFile : (I) iniファイル名(ファイル名はフルパスとする事), ' strSection : (I) iniファイルセクション名, ' strKey : (I) iniファイルキー名, 'スペース埋めしておかないとサイズ指定の文字列はゴミが入っている。(初期化されていない。), 'iniファイル読み込みで取得した文字列はNULLも取ってしまっているので、NULLの直前まで取得, ' strValue : (I) iniファイルに書き込む値。VALUE値。, ' フォームを閉じるとき、自分を表示したRetfnc関数の 「Me.Show」の次の行に飛ぶ, ' フォーム側で確保した変数はUnload以降アクセスできない(Booleanは例外らしい), https://qiita.com/acknpop/items/2c5e3aee4edfee197625, https://hamachan.info/win7/Excel/macro.html, you can read useful information later efficiently. いよいよ夏本番ですね!☀️もうお盆休みの計画は立てましたか? 我が家では「キャンプに連れてけー」って、連日のように言われています。, RedmineからExcelへのチケットインポート方法を、色々紹介してきました。 色々あり過ぎて、わたしも混乱しそうなので、今回、まとめてみました。, 各方法について、メリット、デメリットを紹介しているので、インポート方法を選択するときの参考にしてもらえると嬉しいです。関連する過去記事がある場合は、そのリンク先も記載しています。, わたしの知っているRedmineからExcelへのチケットインポート方法は、次の通りです。 (ほかにも色々あるかもしれません), Redmineからか(➀~➄)、MySQLからか(➅~➈)で、2つに大きく分類できます。, データベースの構造を知らなくても大丈夫なので、手軽にインポートできます。コード変換などの面倒な処理も、すべてRedmineがやってくれます。, 取得できる情報は、Redmineが用意しているものだけなので、画一的で自由度の低い点がデメリットです。各情報を関連付けて複雑な集計や分析をするのには、向いていません。, 「Power Query for Excel」を使えば、チケット一覧のURLを指定するだけで、直接Excelシート上にインポートできます。テーブルへの加工まで自動でしてくれるので、現時点で最も簡単な方法かもしれません。, このアドインは、「Power BI(ビジネスインテリジェンス)」への連携を目的にしたETLツールになっていて、Excelのテーブル(表)を操作する感覚で、データ加工できるのが特長です。, RESTで取得したXML形式のデータを。一旦ファイルに保存して、Excelの外部データ取り込み機能でインポートします。, Firefox(Webブラウザ)本体や「Poster(Firefoxのアドオン)」などのRESTクライアントを使えば、RESTとその結果のファイル保存ができます。, ExcelによるXMLファイルのインポートについては、次の記事で詳しく紹介しています。, 上記➁の一連の作業を、「Excel VBA」で自動実行する方法です。「Access VBA」でも同様のことができます。, CSVへのエクスポートはサーバーに負荷がかかるので、エクスポート数の上限が低めに設定されている場合があります。上限次第では、何回もに分けてエクスポートしなければならず、結構な手間がかかります。, また、Excel側の方も、大量のCSVの読み込みには、意外と時間がかかる場合があります。, 上記➃のCSVを、一旦Accessを経由して読み込む方法です。Accessは、ExcelよりもCSVの読み込みが速い上、「Schema.ini」を使用して、各カラムのデータタイプを設定することもできます。, ですが、この方法の一番の特長は、Accessの便利なクエリー機能を使って、データを変換・加工できる点だと思います。, Redmineの制約を受けないので、自由度が高く、必要に応じてデータを変換・加工してインポートできます。チケット(issuesテーブル)だけでなく、ユーザー情報やワークフローなど様々なデータをインポートできるので、Excelで設定をドキュメント化するのにも向いています。, 特に、「MySQL→Access→Excel」の連携は、Accessのクエリー機能を使って、データを変換・加工できるので便利です。, デメリットは、Redmineのデータベース構造の知識に加え、MySQLやAccess、Excelの少し高度な知識が必要なことです。ちょっと、敷居を高く感じるかもしれません。, MySQL(Redmine)にODBC接続したAccessを経由して、Excelにインポートする方法です。, Accessのクエリー機能を使ってデータを変換・加工した後、Excelに取り込むことができて便利です。, Accessを使わずに、ExcelをMySQL(Redmine)にODBC接続して、Excelにインポートする方法です。, インポートで使用するSQLの編集には、「Microsoft Query」を使用します。Accessは使いませんが、「Microsoft Query」自体がAccessの簡易版みたいな上に、ちょっと操作性がイマイチです。, 上記➆の「Power Query for Excel」版です。「Power Query for Excel」でインポートで使用するSQLを編集します。, 「Microsoft Query」がAccessの操作感でSQLを編集できるのに対して、「Power Query for Excel」はExcelのテーブルを操作する感覚でSQLを編集できます。, MySQL(Redmine)に接続した「A5:SQL Mk-2」の機能を使って、Excelシートに直接エクスポート(Excelから見ればインポート)できます。, […] 【まとめ】RedmineチケットをExcelに取り込む9通りの方法 […], 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, Power Queryを使用すると、Redmineのチケット一覧画面から、直接Excelシートにチケットをインポートできます。RedmineでCSVエクスポートしてからインポートするよりも、手間がかからず便利ですね。エクスポート数の制約も受けません。, これまで紹介してきたMicrosoft AccessでMySQL(Redmine)を集計する実例を示したいと思い、公開されている良いデータはないかと色々考えた結果、Redmine公式サイトのチケットを取得して使うことにしました。, REST機能(RedmineAPI)を使って、Redmineにチケットを登録してみました。ExcelやAccessでマクロを組んで大量投入することもできますが、今回は、Firefoxのアドオン「Poster」からRESTする方法を紹介します。, Excelの機能で、複数のXMLファイルを一つのブックにまとめる方法を紹介します。Redmine公式サイトから取得したチケットの152個のXMLファイルを一つのブックにまとめました。XMLファイルの変換・加工にはExcelが便利ですよ。, MySQLのデータベースに、AccessからODBC経由でリンクする方法を紹介します。リンクテーブルを作成すれば、Accessの豊富な機能を利用したデータ処理が可能になります。, 以前、ODBCドライバーを使用して、AccessをMySQL(Redmine)に接続する方法を紹介しました。今回は、そのExcel版を紹介します。, MySQLのデータベースにPower Query for Excelからアクセスする方法, 新しいExcelのアドイン『Microsoft Power Query for Excel』を試してみました。クエリの編集は、まるでExcelのテーブルを操作するような感覚です。実際に、MySQLのデータベースからデータを抽出できましたので、その方法を紹介します。, 「A5:SQL Mk-2」は、無料の汎用SQL開発ツールです。MySQLには、ODBCドライバーが無くても接続することができます。, Bitnami Redmine Stackにリストアした古いデータベースを更新(Migrate), Windows10ではIISの無効化が必要、 Bitnami Redmine 3.2のインストール方法. 1. まずは、Redmineが外部アクセスを受け入れられるように設定をする必要があります。 画面上部の「管理」をクリックして、表示された管理画面の「設定」メニューを選択します。 Redmine More than 1 year has passed since last update. ローカル環境に自分用のRedmineをいれてみました。 今まで、こちらの記事を参考に、excelの表を Redmine Textile の表に変換していました。 | VBA XMLデータをDOMで扱う方法 - SMILEJAPAN プログラミングメモ, ほかにも、チケットに関する情報は取得できます。 そこに Excel があったから。, サンプルを置いておいたので、こちらをご利用ください。 Excel マクロ(VBA)で Redmine の情報を取得して、表にまとめる方法を考えてみました。 よくあるかもしれない質問 Q.  https://qiita.com/acknpop/items/2c5e3aee4edfee197625, 生成されるコードが完結で、redmine側で表を更新していきたい場合は そして自分のタスク用にチケットも作成してみたのですが、入力が非常に面倒だったので、Excelからチケットを作成する方法を試してみました!, 某美大の油絵科を卒業後、大手CG映像プロダクションに入社。 その後ゲーム業界に転職。 By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. 皆さまこんにちは。アプレッソ開発部の佐々木です。 今回は、DataSpiderを使ってRedmineで管理されているチケットを読み取り、Excelファイルに出力してメール送信するスクリプトをご紹介したいと思います。 Redmineとは Redmine … – 1)     End If     Set sheet = book.Worksheets(sheet_name), ‘ フォーマットする     Call prcFormatting(sheet) End Sub     Sub prcFormatting(sheet As Worksheet), Dim row           As Long     Dim max_row       As Long     Dim col           As Long     Dim max_col       As Long     Dim my_col        As Long     Dim width_array   As Variant     Dim default_width As Integer             ‘ カスタムフィールドがある場合は、この配列の後ろにセル幅を追記してください。     ‘ セル幅定義        1***********5*************10****************15*****************20     width_array = Array(4, 8, 8, 8, 7, 40, 10, 8, 10, 10, 10, 10, 4, 4, 4, 15, 15)                              ‘ 幅     default_width = 40         ‘ セル範囲     max_row = sheet.Range("A65536").End(xlUp).row     max_col = ActiveCell.CurrentRegion.Columns.Count                ‘ シート全体の調整     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).HorizontalAlignment = xlHAlignLeft     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).VerticalAlignment = xlVAlignTop     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).WrapText = True         ‘ ボーダーの設定     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).Borders(xlEdgeLeft).LineStyle = xlContinuous     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).Borders(xlEdgeTop).LineStyle = xlContinuous     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).Borders(xlEdgeRight).LineStyle = xlContinuous     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).Borders(xlInsideVertical).LineStyle = xlContinuous     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).Borders(xlEdgeBottom).LineStyle = xlContinuous     sheet.Range(sheet.Cells(1, 1), sheet.Cells(max_row, max_col)).Borders(xlInsideHorizontal).LineStyle = xlContinuous, ‘ ヘッダの調整     sheet.Range(sheet.Cells(1, 1), sheet.Cells(1, UBound(width_array) + 1)).ColumnWidth = width_array     sheet.Range(sheet.Cells(1, UBound(width_array) + 2), sheet.Cells(1, max_col)).ColumnWidth = default_width     sheet.Range(sheet.Cells(1, 1), sheet.Cells(1, max_col)).Interior.ColorIndex = ThisWorkbook.Sheets(1).Cells(6, 1).Interior.ColorIndex     sheet.Range(sheet.Cells(1, 1), sheet.Cells(1, max_col)).Font.ColorIndex = ThisWorkbook.Sheets(1).Cells(6, 1).Font.ColorIndex     sheet.Range(sheet.Cells(1, 1), sheet.Cells(1, max_col)).Font.Bold = True     sheet.Range(sheet.Cells(1, 1), sheet.Cells(1, max_col)).HorizontalAlignment = xlCenter     sheet.Range(sheet.Cells(1, 1), sheet.Cells(1, max_col)).VerticalAlignment = xlCenter         sheet.Range("A1").AutoFilter     sheet.Rows(1).AutoFit         ‘ ちらつき防止     Application.ScreenUpdating = False         For row = max_row To 2 Step -1               ‘ チケット番号が空の行を削除する         If IsEmpty(sheet.Cells(row, 1)) Then             sheet.Range(row & ":" & row).Delete         Else             ‘ 色設定を取得する             Set FR = ThisWorkbook.Sheets(1).Range("A7:A16").Find(sheet.Range("B" & row).Text)             If Not FR Is Nothing Then                my_col = FR.Interior.ColorIndex             End If, ‘ データのある行に色を付ける             sheet.Range(sheet.Cells(row, 1), sheet.Cells(row, max_col)).Interior.ColorIndex = my_col         End If     Next row End Sub.