HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

《 桐に関する質問は、「桐質問掲示板」からどうぞ 》
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
Nomal[あこめの桐のプログラミング入門]の新サイトのご案内(0) | Nomal拙作2点が公開されました(0) | Nomal[桐の釣魚大全]の新サイトのご案内(0) | Nomal入門講座 改定版(0) | NomalExcelのシート名の取得方法(9) | NomalExcelのシート名の変更(4) | Nomal「目からウロコの・・・パート2」を公開しました。(32) | NomalFW_チェックボックスINF_Framework(2) | Nomal(仮題)目からウロコの「桐プログラミング」入門(9) | Nomal蔵書物品管理 正式バージョン(4) | Nomal桐sについて(3) | Nomal桐の正規表現(0) | Nomalコマンドボタンの機能名・機能パラメータの一覧表を掲載しました(0) | NomalINF_Framework の入門講座を公開しました(0) | NomalINF_Framework 第3.3版 改訂版(MkII) の解説(0) | Nomalイベント処理の整形ユーティリティについて(0) | Nomalアイテム登録が要らないランチャー(0) | Nomal電子カルテ、レセコン(0) | Nomalいつも、ありがとうございます。(0) | Nomal「新 フォームアプリケーション入門 §1」をアップロードしました。(2) | NomalINF_カードには INF Framework の最新版が含まれています(0) | Nomalデートピッカーの修正情報(0) | Nomaltoy_launcher の解説に加筆しました(0) | Nomal蔵書物品管理 ベータバージョン−2(3) | NomalISBNでゲットだぜ!(25) | Nomal断捨離(続) CD・DVD編(3) | Nomal先発品後発品(1) | Nomal岡崎市立中央図書館事件(1) | Nomal書籍管理って TRC で無いの?(0) | NomalINF Framework 第3.3版(1) | Nomal断捨離(6) | NomalWindows10 2004 と桐10(s)(2) | Nomalキーダウンイベントを簡単に(*ショートカットキーも登録できます)(0) | Nomal局所変数の受け渡し(0) | Nomalファイル管理(0) | Nomalダブルクリック(0) | Nomal現在の状況で(4) | Nomal最新の Office (Excel) で 桐9x のクロスエクセル機能を有効にする方法!?(1) | Nomal表で設定した項目の表示条件をフォームに反映する(0) | NomalINF_Framework 第3.2版 Rev.238(0) | Nomalシームレス電卓機能(0) | Nomal入力支援ボタンで都道府県ピッカーから入力する(0) | Nomal入力支援ボタンでDatePickerから日付入力(0) | Nomal入力支援ボタンで電卓を呼び出して結果を反映(0) | Nomalコマンドボタンのオートリピート(0) | Nomalスピンボタンの仕様をアップしました(0) | Nomal入力支援ボタンのリストを登録、更新するサンプル(0) | Nomalランチャーでファイルを開く(0) | Nomal局所変数の保存(0) | Nomalプルダウンメニューの解説をアップしました(0) | NomalクラシックINF_Frameworkのマニュアル完成(0) | Nomaltoy_launcher3(0) | Nomalファイル管理を桐で作成しました。(9) | NomalオートINF_Framework(0) | Nomalエクセルで計算結果エラー(3) | Nomal桐の記事(0) | Nomal桐のプログラミング入門(2) | Nomal新元号の桐対応は(8) | Nomal拙作:HPのリニューアルに関して(4) | Nomal桐と外部DB(10) |



■記事リスト / ▼下のスレッド
■1508 / 親記事)  [あこめの桐のプログラミング入門]の新サイトのご案内
□投稿者/ AKome -(2024/12/26(Thu) 00:25:29)
    これまでお世話になっていた「エックスフリー」サーバーのサービス終了に伴い(2025年7月31日終了)
    後継の「シンフリーサーバー」へサイトを移行しました

    旧サイト http://akome409102.html.xdomain.jp/

    新サイト https://akome409102.cloudfree.jp/

    つきましては、ブックマークの変更をお願いいたします。m(__)m

    なお、旧サイトにアクセスした場合には
    15秒後に新しいサイトに自動でジャンプします。
    ※ジャンプしない場合はブラウザのリロードをお願いします

    旧サイトは 2025年7月31日 まで残しておきますが、更新はストップします。
    新しいサイトでお待ちしております
引用返信 [メール受信/OFF]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1507 / 親記事)  拙作2点が公開されました
□投稿者/ ONnoji -(2024/12/23(Mon) 12:30:18)
    これは告知です。

    【多遊】さんのHPの[観験桐](ダウンロードコーナー)で拙作2点が公開されました。

    【多遊】さん、ご紹介ありがとうございます。m(__)m

    #209 ガントチャート 第1.0版 for 桐10 / 桐10s / 桐s

    #208 イベント処理のランチャー・シーカー・メッセージセンダー Thin INF_Framework for 桐10 / 桐10s / 桐s

    もしも、表示されない場合には、ブラウザのリロード(再読み込み)をしてください。


引用返信 [メール受信/OFF]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1506 / 親記事)  [桐の釣魚大全]の新サイトのご案内
□投稿者/ ONnoji -(2024/12/11(Wed) 17:56:32)
    [桐の釣魚大全]の新サイトのご案内

    この度、[桐の釣魚大全]を設置している無料レンタルサーバーサービス「Xfree」が、2025年7月31日をもってサービス提供終了になることに決まりました。

    そのため、後継サービスである「シンフリーサーバー」へサイトを移転いたしました。

    旧サイト http://silicon7565.html.xdomain.jp/

    新サイト https://silicon7565.cloudfree.jp/

    つきましては、ブックマークの変更をお願いいたします。m(__)m

    p.s.

    なお、旧サイトを表示した場合には、15秒後に新サイトへ転送されます。

    ※もしも、新サイトへ転送されない場合には、ブラウザでリロード(再読み込み)してください。

    旧サイトは、2025年7月31日まで残す予定ですが、ブックマークの変更はお早めにお願いいたします。

引用返信 [メール受信/OFF]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■1505 / 親記事)  入門講座 改定版
□投稿者/ AKome -(2024/10/18(Fri) 23:59:02)
    【あこめの桐のプログラミング入門】
    http://akome409102.html.xdomain.jp/index.html

    2019年4月に公開した入門講座を全面改定しました。
    桐s-2024LTに合わせて、5年半ぶりの全面改定ということになります。

    また今回は番外編として
    入力支援ボタンのドロップダウンリストに配列変数を利用するサンプル
    トレース出力のサンプルも作成してみました。

    興味のある方はご覧になってみてください (^_^)v
引用返信 [メール受信/OFF]



■記事リスト / ▲上のスレッド
■1495 / 親記事)  Excelのシート名の取得方法
□投稿者/ 田代正美 -(2024/08/29(Thu) 10:47:34)
    またまたExcelについての質問です。

    Excelのワークシート名を取得する方法はないでしょうか?
    ワークシート名を取得して
    桐に渡したいのですが
    こんなことは可能なのでしょうか?

    よろしくお願いします。
引用返信 [メール受信/OFF]

▽[全レス9件(ResNo.5-9 表示)]
■1500 / ResNo.5)  Re[5]: Excelのシート名の取得方法
□投稿者/ ONnoji -(2024/09/02(Mon) 06:55:52)
    2024/09/02(Mon) 08:52:24 編集(投稿者)
    2024/09/02(Mon) 08:02:04 編集(投稿者)

    > 一括処理で記述しています。
    > &シート名="1234"
    >
    > エクセル &Excel,&シート名,項目名行=する,表名=表名.tbx,上書き="する",終了状態=&実行リターン
    >
    > 通常はワークシート名は1234なのですが
    > たまに違うときがあるのです。
    > その時にエラーになってしまうので、、、

    私は[エクセル]コマンドを使ったことがありませんが・・・(^^ゞ

     エクセル <ワークブック名>,\
           <ワークシート名>,\
            変換範囲 = (<開始セル>,<終了セル>),\
             項目名行 = する|しない,\
              表名 = <文字列型の変数名>,\
               上書き = しない|する,\
                強制改行文字 = <文字>,\
                 終了状態 = <変数名>

    ↑こういうコマンドなんですね。

    > エクセル &Excel,&シート名,項目名行=する,表名=表名.tbx,上書き="する",終了状態=&実行リターン

    ↑このコマンドを実行すると、&実行リターン に

    正常終了 → 0(ゼロ)
    それ以外 → 0(ゼロ)以外の値

    が代入されますね。

    もしも、&実行リターンの値が0(ゼロ)以外の値の場合の処理はどうされていますか?
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    <ワークブック名>:&Excel の値は常に固定で同じ内容ですか??それとも毎回違いますか??
             ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    p.s.

    なぜこのような事をお尋ねするかというと、

    桐の[シェル実行]コマンドで VBS または Windows PowerShell のスクリプトを実行すれば、

    ワークシートの名前を変更することも、ワークシートの名前一覧を調べることも可能です。

    しかし、そこまでする必要があるのか否かがクエスチョン?なんです。

    だって、&実行リターン の値が0(ゼロ)以外の値の場合の処理をすれば良いだけの事ですから。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    つまり、適切な対処法を書いた文言をオペレータに[メッセージボックス]で見せればよいのですから・・・

     if ( &実行リターン = 0 )

      通常の処理を実行

     else

      メッセージボックスを表示

     end

    しかし、もしも、VBS または Windows PowerShell のスクリプトを絡ませると、

    現在使用されている一括処理の内容がややこしくなるので、プログラムのメンテナンス(保守)が大変になるわけです。

    そこまで、リスクを負ってまでして、VBS または Windows PowerShell のスクリプトを利用する価値はあるのでしょうか?

    私( ONnoji )的には、VBS または Windows PowerShell のスクリプトを利用しない方がベターだろうと思えます。


引用返信 [メール受信/OFF]
■1501 / ResNo.6)  Re[6]: Excelのシート名の取得方法
□投稿者/ ONnoji -(2024/09/02(Mon) 13:13:05)
    2024/09/02(Mon) 21:00:35 編集(投稿者)

    > つまり、適切な対処法を書いた文言をオペレータに[メッセージボックス]で見せればよいのですから・・・
    >
    >  if ( &実行リターン = 0 )
    >
    >   通常の処理を実行
    >
    >  else
    >
    >   メッセージボックスを表示
    >
    >  end
    >
    > しかし、もしも、VBS または Windows PowerShell のスクリプトを絡ませると、
    >
    > 現在使用されている一括処理の内容がややこしくなるので、プログラムのメンテナンス(保守)が大変になるわけです。
    >
    > そこまで、リスクを負ってまでして、VBS または Windows PowerShell のスクリプトを利用する価値はあるのでしょうか?
    >
    > 私( ONnoji )的には、VBS または Windows PowerShell のスクリプトを利用しない方がベターだろうと思えます。

    一括処理を例に、エラーメッセージを簡単に表示する例を以下に示しますので参考にしてください。
            ・・・・・・・・・・・・・・・・・

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

     ** begin of program

     変数宣言 固有,文字列{ &Excel  = "hogehoge.xlsx" }
     変数宣言 固有,文字列{ &シート名 = "1234" }

     変数宣言 固有,文字列{ &gMsg }
     変数宣言 固有,整数 { &gErrorRefErrno }
     変数宣言 固有,長整数{ &gErrorRefLineno }
     変数宣言 固有,文字列{ &gErrorRefCmdname }
     変数宣言 固有,文字列{ &gErrorRefErrmsg }
     変数宣言 固有,文字列{ &gErrorRefDetail }


     ** 変数の値を未定義値に初期化する
     &gErrorRefErrno  = #u
     &gErrorRefLineno = #u
     &gErrorRefCmdname = #u
     &gErrorRefErrmsg = #u
     &gErrorRefDetail = #u

     エラー処理 手続き名 = "prcOnErrorExcellCommand"
     *エクセル &Excel,&シート名,項目名行=する,表名="表名.tbl",上書き="する",終了状態=&実行リターン
     エクセル &Excel,&シート名,項目名行=する,表名="表名.tbx",上書き="する"
     エラー処理 /* 解除を忘れずに */

     if ( &gErrorRefErrmsg = #u ) /* エラーメッセージが代入されていなければ */

      ** 通常処理

     else

      ** エラーの場合に else を実行

      ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号をメッセージボックスで表示する

      &gMsg =       "[エクセル]コマンドの実行に失敗しました。"
      &gMsg = &gMsg + "\n\nエラー番号:"    + #cond( &gErrorRefErrno > 0, "KU", 1, "KD" ) + #str( &gErrorRefErrno )
      &gMsg = &gMsg + "\n\nエラーメッセージ:" + &gErrorRefErrmsg
      &gMsg = &gMsg + "\n\nエラーの詳細:"   + &gErrorRefDetail
      &gMsg = &gMsg + "\n\n一括処理名:"    + &gErrorRefCmdname
      &gMsg = &gMsg + "\n\n行番号:"      + #str( &gErrorRefLineno )

      メッセージボックス "タイトル", &gMsg, アイコン = E, ボタン指定 = 1, 制御文字展開 = する

     end


     終了

     ** end of program

    手続き定義開始 prcOnErrorExcellCommand( )
     変数宣言 自動,文字列{ &icon, &title = "prcOnErrorExcellCommand( )", &gsg }

     エラー処理 /* ここでも解除を忘れずに */

     ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号を固有変数に代入する

     &gErrorRefErrno  = &errno
     &gErrorRefLineno = &lineno
     &gErrorRefCmdname = &cmdname
     &gErrorRefErrmsg = &errmsg
     &gErrorRefDetail = &detail

    手続き定義終了


    p.s.

    [エラー処理]コマンドは、非常に使い道が限られています。

    なので、むやみやたらと[エラー処理]コマンドを使うのは慎んでください。

    <参考>

    桐の釣魚大全のトップ > 目からウロコのデータベース桐プログラミング入門 パート2 より転載
    http://silicon7565.html.xdomain.jp/primer/primer_side_reader_part2.html#section13-2

    13.2 エラー処理コマンドはあるけれど
     エクセルのVBAを知っている人の場合、VBAの[ On Error ステートメント]に相当する桐のコマンドを使いたいという思う人が現れても不思議ではありません。
    実は、桐には[エラー処理]というコマンドがあります。※桐9-2012 までは非公開のコマンドでした。
    しかし、結論から申し上げると、桐でこの[エラー処理]コマンドを実行する必要はまずありません。
    その理由は、多くのコマンドにおいて、そのコマンドが実行出来たか否かの結果を変数に格納する[終了状態 = <変数名>]パラメータが用意されているからです。
    また、使用するファイルがディスクに存在しなかった場合の対処に使用するのもNGです。
    その場合には、#ファイルサイズ( )という関数を使用して判定できますゾ。(^^ok
    なによりも厄介なのは[エラー処理]コマンドを使うと、単純なスペルミスによる文法エラーも拾ってしまうのです。
    そうなると、何が何だかサッパリ分からなくなってプログラムのテスト(デバッグ)どころではなくなってしまいます。
    ということで、初級者は[エラー処理]コマンドを使わないと覚えてください。

    p.p.s.

    > 桐の中で処理できるようなことを考えます。

    「エラーする前に先回りして処置したい」という気持ちは確かによく分かります。

    しかし、今回の場合には「エラーする前に先回りして処置する」という行為が、桐の単独で出来ません。

    なので、先回りせずに、素直に「エラーまんねん。エラーでっせ。エラーちゅ−てんねん。エラーまんにゃわ。!」と表示することで、

    現行で使用している一括処理のメンテナンス(保守)が容易になると思いますよ。

874×515 => 250×147

1725278382.jpg
/84KB
引用返信 [メール受信/OFF]
■1502 / ResNo.7)  Re[7]: Excelのシート名の取得方法
□投稿者/ 田代正美 -(2024/09/05(Thu) 08:34:12)
    ONnojiさん

    ありがとうございます。

    勉強します。

    またわからな事がでましたら
    よろしくお願いします。
引用返信 [メール受信/OFF]
■1503 / ResNo.8)  Re[8]: Excelのシート名の取得方法
□投稿者/ ONnoji -(2024/09/05(Thu) 11:29:53)
    > 勉強します。

    サンプルを再掲載します。

    新しく一括処理を作って、以下の内容をコピー&ペーストしてください。

    こうして作った一括処理を実行すると、より具体的に分かると思いますよ

    このサンプルはコピペだけで動くように作ってありますよ。

     ** begin of program

     変数宣言 固有,文字列{ &Excel  = "hogehoge.xlsx" }
     変数宣言 固有,文字列{ &シート名 = "1234" }

     変数宣言 固有,文字列{ &gMsg }
     変数宣言 固有,整数 { &gErrorRefErrno }
     変数宣言 固有,長整数{ &gErrorRefLineno }
     変数宣言 固有,文字列{ &gErrorRefCmdname }
     変数宣言 固有,文字列{ &gErrorRefErrmsg }
     変数宣言 固有,文字列{ &gErrorRefDetail }


     ** 変数の値を未定義値に初期化する
     &gErrorRefErrno  = #u
     &gErrorRefLineno = #u
     &gErrorRefCmdname = #u
     &gErrorRefErrmsg = #u
     &gErrorRefDetail = #u

     エラー処理 手続き名 = "prcOnErrorExcellCommand"
     *エクセル &Excel,&シート名,項目名行=する,表名="表名.tbl",上書き="する",終了状態=&実行リターン
     エクセル &Excel,&シート名,項目名行=する,表名="表名.tbx",上書き="する"
     エラー処理 /* 解除を忘れずに */

     if ( &gErrorRefErrmsg = #u ) /* エラーメッセージが代入されていなければ */

      ** 通常処理

     else

      ** エラーの場合に else を実行

      ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号をメッセージボックスで表示する

      &gMsg =       "[エクセル]コマンドの実行に失敗しました。"
      &gMsg = &gMsg + "\n\nエラー番号:"    + #cond( &gErrorRefErrno > 0, "KU", 1, "KD" ) + #str( &gErrorRefErrno )
      &gMsg = &gMsg + "\n\nエラーメッセージ:" + &gErrorRefErrmsg
      &gMsg = &gMsg + "\n\nエラーの詳細:"   + &gErrorRefDetail
      &gMsg = &gMsg + "\n\n一括処理名:"    + &gErrorRefCmdname
      &gMsg = &gMsg + "\n\n行番号:"      + #str( &gErrorRefLineno )

      メッセージボックス "タイトル", &gMsg, アイコン = E, ボタン指定 = 1, 制御文字展開 = する

     end


     終了

     ** end of program

    手続き定義開始 prcOnErrorExcellCommand( )
     変数宣言 自動,文字列{ &icon, &title = "prcOnErrorExcellCommand( )", &gsg }

     エラー処理 /* ここでも解除を忘れずに */

     ** エラー番号・エラーメッセージ・エラーの詳細・一括処理・行番号を固有変数に代入する

     &gErrorRefErrno  = &errno
     &gErrorRefLineno = &lineno
     &gErrorRefCmdname = &cmdname
     &gErrorRefErrmsg = &errmsg
     &gErrorRefDetail = &detail

    手続き定義終了

引用返信 [メール受信/OFF]
■1504 / ResNo.9)  Re[9]: Excelのシート名の取得方法
□投稿者/ 田代正美 -(2024/09/06(Fri) 09:11:44)
    ONnojiさん

    ありがとうございます。

    作成いただいた一括処理でわからない点がでてくるかとおもいますので
    その折はよろしくお願いいたします。
引用返信 [メール受信/OFF]

■記事リスト / レス記事表示 → [親記事-9]






213556

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -