初投稿です。
Access2010のVBAでテーブル名、フォーム名、レポート名を変更するプログラムを組みました。
(Access2003でも動くようにするため.xlsで作成しています)
DoCmd.Rename "NewTableName", acTable, "OldTableName"
DoCmd.Rename "NewFormName", acForm, "OldFormName"
DoCmd.Rename "NewReportName", acReport, "OldReportName"
といった感じです。
しかし、ランタイムモードで実行するとフォーム名やレポート名は変更されませんでした。(エラーで終了することもなく)
通常のAccessでの起動では、DoCmd.Renameメソッドはうまく動きました。
しかたがないので、DoCmd.Renameメソッドを使用しない方法で対応しようと試みました。
・テーブル名変更についてはDoCmd.RenameをやめてDAOのTableDefオブジェクトに変えることで対応できました。
・フォームやレポートも同様にCurrentProject.AllFormsやAllReportsより特定のフォームやレポートのオブジェクトを取得してNameプロパティの値を変更しようとしましたが、値取得のみのプロパティでしたので実現できませんでした。
何かよい方法はないものでしょうか?また、ランタイムモードで動かない理由はわかりますでしょうか。