Mathematica:アドインプログラムの紹介


 Mathematica:Excel アドインプログラムの紹介

 〜 Excel連動便利プログラム 〜  
九州大学大学院 工学府   劉 永富 氏

   今回、Mathematica で活用できるアドインプログラムを作成し、ご提案いただいたのは、
 九州大学大学院 工学府  劉 永富 氏 です。

   どういったプログラムなのか、ご紹介致します。


☆ プログラムの概要について ☆

   Mathematicaでは、Excelからデータをインポートする際に、ファイルパスの指定が必要となります。
  そのファイルパスの取得を、Excelのファイル上から簡単に行うことができる、というものです。


☆ このプログラムを作成した経緯は? ☆

   ファイルのインポートを行う場合、複数のファイルからインポートを行うことは勿論、
 同一ファイル内の異なる範囲を指定してインポートすることなどが往々にしてあります。

  そういった場合に、ケアレスミスを減らす意味でも、プログラムを通したパスの取得ができればと、
 今回のプログラムの作成に取り掛かりました。


☆ 利用方法は? ☆

   プログラムを有効にした状態で、Excelシート上でインポートしたい部分を指定し、ショートカットキーを押すと、
  指定した範囲をインポートするためのコマンドをクリップボードにコピーする事ができます。

   下図の用に範囲を指定すると、クリップボードにはインポート用のコマンドが貼付されます。

              

    Sheet1=Import["D:\EVMSA\Book1.xls", "Data"][[1, Range[9,18], Range[2,4]]]

   これがクリップボードに用意されるので、後はそれをMathematicaノートブック上に貼り付ければ良いのです。
  Mathematcaでデータを活用される方には、ケアレスミスを減らす意味でも、有用なプログラムになります。


 <ソースコードはこちら> ※ 作成者様より公開許可は頂いております ※

  Sub mathematica()
    On Error Resume Next
    Dim rg As Range, ms As String
      Set rg = Selection
      ms = ActiveSheet.Name & "=Import[""" & ActiveWorkbook.FullName & """" & ",""Data""]
         [[" & ActiveSheet.Index & ", Range[" & rg.Row & "," & rg.Rows.Count + rg.Row - 1 & "],
         Range[" & rg.Column & "," & rg.Columns.Count + rg.Column - 1 & "]]]"
      Set mydata = New DataObject
        mydata.SetText ms
        mydata.PutInClipboard
        MsgBox "コードは既にクリップボードにコピーした、Ctrl+V を押してください"
      Set mydata = Nothing
  End Sub


作成者

九州大学大学院 工学府  劉 永富 氏





☆ 劉 先生、ご紹介ありがとうございました ☆





All Right Reserved. Copyright(c)2008 Japan Information Processing Service Co.,Ltd.