皆さんこんにちは、
SharePointに保存されているExcelo365ブックがいくつかあり、JMPにロードして、Excelブックのファイル名に基づいて各テーブルの名前を変更する必要があります。
JMPコミュニティのコードスニペットが役に立ちました。ありがとうございました。
スクリプト:
- ファイル名とSharePointパスをハードコードします
- SharePointサイトを開きます
- Excelファイルを見つけます
- Excelファイルを開く/インポートする
ただし、2つの問題があります。JMPテーブル名の名前は変更されず、スクリプトを使用して閉じたいことを示すモーダルポップアップウィンドウが表示されます。
SharePointにアップロードできるExcelワークブックとしてフォーマットされたビッグクラスデータを添付しています。スクリプトも添付されています。SharePointサイトへのハードコードされたパスとファイル名を必ず変更してください。
ありがとうございました!
脚本:
// SharePointパス、SharePointからリンクをコピーし、「?」の後のすべてを削除します
パス= {"https:// <<あなたのサイト>> /Big%20Class.xlsx? "、
「https:// <<あなたのサイト>> /Big%20Class_2000.xlsx? "};
// SharePointファイル、SharePointからリンクをコピーし、「?」の後のすべてを削除します「download = 1」を追加します
ファイル= {"https:// <<あなたのサイト>> /Big%20Class.xlsx?download=1 "、
「https:// <<あなたのサイト>> /Big%20Class_2000.xlsx?download=1 "};
バッチインタラクティブ(1);
For(i = 1、i <= N Items(path)、i ++、//ワークブックに優れたパスをループする
Web(パス[i]、JMPウィンドウ);
For(i = 1、i <= N Items(file)、i ++、// Excelファイルのループ
dt = Open(
file [i]、
ワークシート(「ビッグクラス」)、
すべてのシートに使用(1)、
ワークシートを連結する(0)、
連結列(0)を作成し、
ワークシートの設定(
1、
列ヘッダー(1)があり、
ヘッダーの行数(1)、
ヘッダーはRow(1)から始まり、
データはRow(2)から始まり、
データはColumn(1)から始まり、
データはRow(0)で終了し、
データはColumn(0)で終了し、
複製されたスパン行(1)、
複製されたスパンヘッダー(0)、
隠された行を抑制します(1)、
非表示の列を抑制(1)、
空の列を抑制(1)、
階層(0)として扱い、
複数シリーズスタック(0)、
セルの色をインポート(0)、
制限列検出(0)、
列区切り文字列( "-")、
)、
「見えない」、
);
Window( "Web Browser")<<ウィンドウを閉じる; // JMPWebウィンドウを閉じます
);
name = {"Big Class"、 "Big Class 2000"}; //テーブル名を変更しますこれは機能していません
For(i = 1、i <= N Items(name)、i ++、
dt << Set Name(name [i])
);
バッチインタラクティブ(0);
);
すべてのテーブルを同じ変数dtに割り当てているようです。その変数は、一度に1つのテーブルへの参照のみを保持できます。代わりに、dtをリストにして、すべてのデータテーブルへの参照を格納することができます。これがどのように見えるかです(テストされていません)。
//SharePoint path, copy link from SharePoint then delete everything after "?"
path = {"https://<<YOUR site="">>/Big%20Class.xlsx?", "https://<<YOUR site="">>/Big%20Class_2000.xlsx?"};
//SharePoint file, copy link from SharePoint then delete everything after "?" and add "download=1"
file = {"https://<<YOUR site="">>/Big%20Class.xlsx?download=1",
"https://<<YOUR site="">>/Big%20Class_2000.xlsx?download=1"};
Batch Interactive( 1 );
//Make an empty list to store references to all data tables
dt = list();
For( i = 1, i <= N Items( path ), i++, //loop for paths to excel workbooks
Web( path[i], JMP window );
For( i = 1, i <= N Items( file ), i++, //loop for excel files
dt[i] = Open(
file[i],
Worksheets( "Big Class" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" ),
),
"Invisible",
);
Window( "Web Browser" ) << close window; //closes the JMP web window
);
name = {"Big Class", "Big Class 2000"}; //change table names THIS IS NOT WORKING
For( i = 1, i <= N Items( name ), i++,
dt[i] << Set Name( name[i] )
);
Batch Interactive( 0 );
);
</YOUR></YOUR></YOUR></YOUR>