複数スライドショー画像の連続実行 方法の検討

1 仕様

 1) 個別に作られたスライドショーの画像定義ファイル slide_data.js のスライドショー実行用データに基づき連続描画する

 2) 画像毎のデータは slide_data.js 、どの個別スライドショーを実行するかの情報を入力することで、複数のスライドショーを連続描画する

2 画像データ収集方法 方式案と結果 

[1] JAVA Script で直接処理
           項目評価結果は 5段階制 ;  可能・容易・良: 5 <--- 3 普通 ---> 1 :不可・困難・悪

No. 方法 実現性 作業性 総合評価 テスト済 記事
if文で slidedata.js 切替 JS機能上動作せず
JAVA Script でページHTML書き出しし、外部ファイル名切替 テストしたが動作せず 外部ファイル定義は書き出しでは動作せず
外部ファイルの入れ子 1 5 1 JS機能上動作せず
複数slidedata.js の後それぞれに Data[j][i] 変数名書き換え JS機能上動作せず 実行順が異なるため
document.writeで 外部ファイル記述変更 JS機能上動作せず
外部ファイル名 変数化 JS機能上動作せず
フレームで、ページに値渡し呼び出しHTML切替
 ・呼び出しHTMLをJSで書き出し
外部ファイル動作せず
フレームで、ページに値渡し呼び出しHTML切替
 ・個別HTML作成
実現可能 一部済 個別HTML作成が作業性悪い、値渡しはテスト済み
処理スクリプトを差し替え、データを統合ページに転送
 転送方法; 値渡し
    要再テスト、可能性あり? フレームページでも検討
10 処理スクリプトを差し替えデータを統合ページに転送
 転送方法; クッキーで値渡し
クッキーの文字数制限、クッキーoffのユーザーでは動作せず
11            



[2] その他の代替方法

No. 方法 実現性 作業性 総合評価 テスト済 記事
手編集で slidedata.js データをコピー集約し、変数番号書き換え 既知 単純で可能性有、作業が面倒
同上データを FORM TEXTエリアに貼付け テキストとして解析し変数番号振り直し (別途実証済) 妥協案として有望
同上データを他言語で解析し変数番号書き換え 言語を何にするか; 私都合;BASIC、USER;BASICでは環境構築要
同上データを Excel にインポートし変数番号書き換え (別途実証済) 妥協案として有望 ;大井さんに使用していただく(全てのユーザーでは困難)
           
           




3 上記 2[2]4 同上データを Excel にインポートし変数番号書き換え の処理手順 

1) 使用したい slidedata.js を 適当なフォルダにコピーする。

2) コピーしたファイルのスライドショーを結合する順に slidedata の後に番号を振る。
 最初のファイルは slidedata1.txt とする。
 複数のslide_data.js の識別が出来る場合は番号は不要、そのままコピーする。

3) Excel を起動する

4) Excel の ファイル − 開く のウインドウで ファイルの種類 に 全てのファイル(*.*)を選択し ファイル名に保存した slidedata(n).js (n)は数字 を指定し 開くボタンをクリック

5) テキストファイルウイザード 1/3で 「カンマやタブなどの区切り文字で...」をチェックし 次へボタン

6) ウイザード2/3 「区切り文字」 だけにチェックを入れ その右の小さな窓に = (半角)を入力し 次へボタン

7) ウイザード3/3 完了ボタン をクリックすると次のようにデータがセル上に格納される

  // 始め
/* *** This  system using JAVA script is presented by Auto-scroll Panorama Gallery *** */
中略
Dat  new Array(200,4) // 画像ファイル名の設定
Dat[0,0]  ['[0]ファイル名','[1]説明文','[2]時間','[3]変化禁止'];
Dat[0,1]   ['kawazu01.jpg','伊豆 河津町の桜祭り・・・','',''];
中略 スライドショーの画像分
Dat[0,10] ['kawazu10.jpg','・・・','',''];    例として ここが最終行とする
 // 終わり



8) 先に7)までに開いた Dat[0,1] に相当する B列の 
['kawazu01.jpg','伊豆 河津町の桜祭り・・・','','']; から下のデータの最終行 ( 例では ['kawazu10.jpg','・・・','','']; ) までをコピーする。

9) もし、一連の画像の中で結合後のスライドショーで表示しない場合は その画像の行を削除する
   ( 行の削除とは セル内容のクリアでなく 行自体を削除 ; 
Dat[0,n] の nが飛ぶような状態 )
   表示順序を変えたい場合はセルの内容を入れ替える
   これらの処理の後にコピーする

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

10) Datano_comb.xls ファイルの [1結合]タブ を開く

11) Datano_comb.xls のA列の 1の右のC列のセル以下に貼り付ける

12) 貼り付けたデータ範囲に対応する B列全てに 結合後スライドショーの auto_slide.htmから 画像の保存されているフォルダの相対パス、または他のサーバー等の場合は絶対パスを入力する。

[ フォルダ構成の例と パス指定方法の例 ]

 フォルダ     フォルダ     ファイル      説明
 Slideshow + slide_comb01 +
@auto_slide.htm  ; 結合後スライドショー実行用HTML
         I         + slide_data.js   ; 現在作成しようとしている全画像を結合した画像定義データ
         I                      ;  slide_comb01 フォルダは結合スライドショーを実行するため
         I                       の slide01・・・ と同等位置づけのフォルダ
         I                       imagesフォルダと 同階層に作成する
        + images   + auto_slide.js   ; スライドショー実行用スクリプト
         I         + pb_rev.jpg    ; ボタン画像
         I         + ・・・・・・        同
         I 
        + slide01   +
Aslide_data.js   ; 1番目のスライドショー用画像定義ファイル
         I         + ****.jpg     ; 1番目のスライドショー用画像ファイル (複数)
         I 
        + slide02   +
Bslide_data.js   ; 2番目のスライドショー用画像定義ファイル
         I         + ****.jpg     ; 2番目のスライドショー用画像ファイル (複数)
         I 

 他のサーバーのスライドショーデータ
 Slideshow + images   + auto_slide.js   ; スライドショー実行用スクリプト
         I         + pb_rev.jpg    ; ボタン画像
         I         + ・・・・・・        同
         I
        + slide01   +
Cslide_data.js   ; 1番目のスライドショー用画像定義ファイル
         I         + ****.jpg     ; 1番目のスライドショー用画像ファイル (複数)
         I 
        + slide02   + slide_data.js   ; 2番目のスライドショー用画像定義ファイル
         I         + ****.jpg     ; 2番目のスライドショー用画像ファイル (複数)

@からAの相対パス ;  ../slide01/
    Bの相対パス ;  ../slide01/
    Cの絶対パス ;   http:// サーバー(ドメイン)名/Slideshow/slide01/

  注) 画像 および slide_data.js の格納されているフォルダの後には 必ず 半角 / を記入

13) 以上で1つのスライドショーデータの貼付は完了

14) 結合する数の
slide_data(n).js を 1)から9) の処理を繰り返し データをコピーする

15) 開いている Datano_comb.xls の先に貼り付けた C列のデータの下に次のデータを貼り付ける

16) 12)と同様に 次のデータのパスを B列に記入する

17) 以上 14)〜16)を 結合するデータ分 繰り返す

18) Datano_comb.xls の [2slide_data]タブに切り替える

19) 値の表示されているセル全てをコピーし 結合実行用  slide_data.js に貼り付け保存する
    ( 文字属性の無い テキストエディタ ; メモ帳 等を使用する )

 Excelで 直接 テキスト形式出力でも可 名称を slidedata.jsとする。

20) Excel Datano_comb.xls は後に修正の可能性がある場合新しいファイル名で保存する

*注)
 1) Datano_comb.xls でのセルの移動は、データ生成用参照が狂うため禁止
    データは切り取り、削除、貼付のみで操作する

 2) フォルダ指定の同一名称のコピーは セルのコピーハンドルのドラグでは、数値がある場合、自動変更されるので Ctrl キーを押したままでドラグする


[ 補足 ]

1) ディレクトリの指定で B列への入力は、auto_slide.htm と異なるディレクトリ時には記入が必要
 例; 
@ に対し、既に作成した異なるディレクトリ A、B にある画像
   相対パスでの指定では、それまで  
A、B の単独スライドショー用 slidedata.jsでは ディレクトリ指定していないため

2) 絶対パスで指定してあるディレクトリを含むファイル名はそのまま C列;ファイル名記入欄に書き込んで良い
  ( この場合 ディレクトリ記入用 B列は空白で可 )

3) 
Excel にインポートせず、 slidedata(n).jsのテキストそのままをコピーし Datano_comb.xls に貼り付けても良い
  コピーする行数(画像数)が少ない場合はこの方が効率よい

4) Dat[0,n]=[' ・・・・ の先頭から C列に貼り付けても良い ( この場合 n の値は気にしなくて良い )

5) [訂正] Datano_comb.xls のディレクトリ、ファイル名の移動に 切取・貼付でと書いたが コピー・貼付の後、元のセル内容を削除に訂正