今だけ人気マンガ100円レンタル特集♪

エクセルのマクロが入ったファイルが、海外のPC(OS,ソフトとも英語版)で開けませんでした。
日本では普通にマクロ実行出来ます。
セキュリティは「中」に設定しています。

<オリジナル>
Microsoft Office 2003 Professional   日本語   動作良好
<外国PC>
Microsoft Office 2003 Professional English     動作良好
Microsoft Office 2003 Standard English       動作不良
Microsoft Office 2000 Standard English SR-1   動作不良

ファイルを開いた時(マクロを実行する前)に、下記メッセージが表示されます。

Name conflicts with existing module,project, or object library

Repairs to 'ファイル名’
Lost Visual Basic project
Lost ActiveX controls

解決方法を教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

「既存のモジュール、プロジェクト、または、オブジェクトライブラリで、名前が衝突している」と言うエラーです。



同じOfficeと言っても、日本語版と英語版では、予約語が異なっていたり、識別子の名前で使える文字が違ったりします。

ですので、ある変数や関数の名前が、日本語版では使用出来るのに、英語版では予約語になっていて使えない、と言う事が起きます。

また、同じ日本語版でも、ProfessionalバージョンとStandardバージョンの間で、同様の事が起きます。

どうやら、日本語版と英語版のProでは動いていて、Standardで動いてないようなので、日本語版のstanderdバージョンを用意してファイルを開き、マクロエディタ(VBエディタ)の画面を呼び出して、開いているプロジェクトのマクロを、すべてコンパイルしてみて下さい。

名前が衝突してコンパイル出来ない場合、出来ない原因になっている場所が強調表示され、何が悪いか(どの名前が衝突の原因か)突き止められる筈です。
    • good
    • 1
この回答へのお礼

ありがとうございます。
ただ、Standardバージョンがこちらにないので、検証出来ません。
環境を整えた場合、ProfessionalバージョンとStandardバージョンを別に作らないといけないのでしょうか?
(全ての台数を同じVer.にするのは、難しいので)
すみませんがご教示願います。

お礼日時:2008/08/27 15:53

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q英語OSでのエクセルを使ったプログラム

日本語OS・日本語VB2005・日本語Excelの環境で作ったプログラムを、
英語OS・英語ExcelのPCにインストールして実行したところ、Excel関連の操作でのみエラーが出ます。

開発環境のExcelが原因だと思い、開発環境を英語Excelに変更しても駄目でした。

この環境で、どうにかしてExcelを操作できるようにできないでしょうか?

Aベストアンサー

日本語OS・日本語Excelで作ったのを(VBAあり)
英語OS・英語Excelで使ったことあるし
海外の人にも配布して使ってもらってます
ぜんぜんトラブルなく動いてるみたいですがね、、、、
(一応サポート体制とかは たいそうになってたけど、使わんかった)

一応シート名とかVBAのコードの中には日本語とかは書かないように
気をつけて作ってましたが

もっと詳しい状況がわからないとなんともいえません

Q日本の Excel で作ったファイルを海外の(英語版)Excel で開けますか?

オンラインゲーマーです。自作の技の表を Excel 2003 で作成し、海外のパートナーと共有したいのですが、まだ Google spreadsheet や open office などを習得するにいたっていません。というわけで 日本語のExcelでの作成となったんですが、これをメールで海外のお友達に配布したいと思います。ですが、日本語のExcel で作ったファイルは英語版でも開けるものなんでしょうか?互換性はどうなんでしょうか?

Aベストアンサー

バージョンが極端に違わなければ、問題なく開くことができます。

ただ、日本語特有の全角の文字は化けてしまうので、全て半角で
入力して、英語のフォントを使っておく必要があります。

QVBA マクロ 英語版WINDOWSで全角文字 1024行目の文字が文字化けする

CSVのデータを集計する、エクセルマクロ(VBA)を作ったのですが、日本語WINDOWS7&エクセル2013 だと問題なく動いているのですが、英語版のWINDOWS &エクセル2013だと 下記の処理で文字化けが起きてうまく処理ができないことがあります。

Open infile For Input As #fileNo
Line Input #fileNo, rec
divrec = Split(rec, ",", -1, vbBinaryCompare)


1024行目がの文字が、全角の文字が来ると文字化けになります。
本来  ”あいうえお”
英語版 ”あい・・えお” (うの文字が1024行目がきたばあい)
その為まれに、SPlit処理がうまくいかないことが発生します。

Windowsの言語の形式 の部分を English→Japanese にすれば このエラーは起きないの
ですが、アメリカ人のパソコンでも実行できるマクロを作りたいと考えています。

なにかいい方法はないでしょうか?

CSVのデータを集計する、エクセルマクロ(VBA)を作ったのですが、日本語WINDOWS7&エクセル2013 だと問題なく動いているのですが、英語版のWINDOWS &エクセル2013だと 下記の処理で文字化けが起きてうまく処理ができないことがあります。

Open infile For Input As #fileNo
Line Input #fileNo, rec
divrec = Split(rec, ",", -1, vbBinaryCompare)


1024行目がの文字が、全角の文字が来ると文字化けになります。
本来  ”あいうえお”
英語版 ”あい・・えお” (うの文...続きを読む

Aベストアンサー

提案としては、今のところ、このようなものが考えられます。

・Excelの"QueryTable" を使う

・Open infile For Input As #fileNo
のスタイルをやめて、FileSystemObject のOpenTextFile で読む。(ReadLine か、ReadAllを使う)

・Open infile For Input As #fileNoではなく、以下の様なバイナリで読んでいく。

 Open inFile For Binary Access Read As #fileNo
 bufbyte = InputB(LOF(fileNo), #fileNo) ''bufbyte は、byte 配列変数

実際は、試してないので、はっきりしたことは言えません。

QExcelの英語版、日本語版の見分け方

日本とUSの両方で使うVBAマクロの作成を行っています。MsgBox等の文面を日本語環境と英語環境で切り替えたいと思っています。もちろん文面は日本語、英語の対応表を用意しておきます。Excelが英語版か日本語版かをVBAで読み取る方法があればそれが使えるかと思っているのですが、どなたかご存知ありませんか。ちなみに現在は最初に一度だけMsgBoxで英語、日本語を選択させて、以後はその情報をもとに文面の切り替えを行おうと思っています。
Excelは2000です。OSは98,ME,NT,2000の混在です。またマクロ作成担当の私はWindows2000にExcel2000(いずれも日本語版)です。
よろしくお願いします。

Aベストアンサー

International プロパティで取得できるようです。

If Application.International(xlCountryCode) = 81 Then
MsgBox "日本語"
Else
MsgBox "その他"
End If

'81' というのは当方の環境で返る値です。正確な国番号はわかりません。
その他の主な国番号は次の通り。
1 = US English
33 = French
49 = German

参考URL:http://www.microsoft.com/JAPAN/developer/library/off2000/VBAXL/xlproInternational.htm

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

QEXCELマクロを無効にして開く方法

掲題の通りなのですが、EXCEL2007で作成されたマクロ有効ファイル(XLSM形式)を
マクロ無効の状態で開く方法が分からず困っております。

マクロの内容は Workbook_Open 処理で、特定セルに入力されている
EXCELファイルを開き、自身は閉じるというものです。


Private Sub Workbook_Open()

Dim FileName As String

'1ファイル目
Range("A2").Select
FileName = ActiveCell.FormulaR1C1
Workbooks.Open FileName:=FileName
ThisWorkbook.Activate

'2ファイル目
Range("A3").Select
FileName = ActiveCell.FormulaR1C1
Workbooks.Open FileName:=FileName
ThisWorkbook.Activate

・・・・・・繰り返し

DoEvents
ThisWorkbook.Close

End Sub


上記の特定セルに設定してあるファイルパスを変更するためには
マクロを無効にして開かなければなりません。

マクロのセキュリティを変更して、「すべてのマクロを無効にする」を設定して
該当のファイルを開けば良い事は分かっているのですが、他に分かりやすい方法で
マクロ無効状態で開く方法があれば、ご教授頂ければと思います。

掲題の通りなのですが、EXCEL2007で作成されたマクロ有効ファイル(XLSM形式)を
マクロ無効の状態で開く方法が分からず困っております。

マクロの内容は Workbook_Open 処理で、特定セルに入力されている
EXCELファイルを開き、自身は閉じるというものです。


Private Sub Workbook_Open()

Dim FileName As String

'1ファイル目
Range("A2").Select
FileName = ActiveCell.FormulaR1C1
Workbooks.Open FileName:=FileName
ThisWorkbook.Activate

'2ファイル目
...続きを読む

Aベストアンサー

Win7、Excel2010、ダブルクリックでファイルを開く設定、の場合ですが、
Excelが開いていない状態で、
一旦、ファイル(またはショートカット)をクリックしてから、
Shiftキーを押し、そのまま、ダブルクリック、
以上の手順で、セーフモードでExcelとブックが開きます。
つまり、Private Sub Workbook_Open()は実行されません。
環境によって手順は異なると思いますけれども。

QエクセルVBAが中国のPCでは動かない(エラー)

VBAコード、コメントに日本語が含まれると中国のPCでは、動作できずエラーになると連絡をうけました。
どこの設定を変えると、そのまま使用可能になるでしょうか?

Aベストアンサー

ロケール。

ただし、OSがマルチリンガルに対応している必要がある。
また、フォントも必要。
lenvo製品はロケールに不具合があるので、パッチが必要な場合もある。

Q中国語版のEXCEL マクロ(VBA)

中国語版のEXCELでマクロを学習しています。
VBAのコードやプロシージャーの入力で数字や式は問題ないのですけれど、日本語を入力すると実行しても文字化けしたりエラーが出てしまいます。

中国語版のEXCELを日本版と同じように使うための何か環境設定などありますでしょうか?

また中国語版でのコードの文字入力例の一覧などありましたら、どなたか教えていただけますでしょうか。
よろしくお願いいたします。

Aベストアンサー

こんばんは。

それそのものは知らないけれども、

>環境設定

Excel 97以上でしたら、Unicodeですから、Visual Basic Editor のツール-オプションの[エディタのフォント]で適当なフォントを選べばよいのではないでしょうか?

ワークシート側はどうなっているのでしょうか?
やっぱりUnicodeが標準なのでしょうか?興味があるところです。日本語版は、Shift JIS なんですよね。たぶん、若干、仕様自体が変るような気がします。

VBAでいうと、Findメソッドや、StrConv の引数が違いますね。オプションのCompare Text と Compare Binary の違いとか、その関係のLikeなどの文字比較はどうなるのでしょうかね。2バイト/1バイトの違いに関わる部分など日本語に関係する部分は、基本的には開発は無理なのかなって思います。ここらは分りませんね。

それから、私自身のコードは、必要以上、日本語を入力しないようにして、英語で書いていることが多いですね。Unicodeですから、2バイト文字と1バイト文字の区別はありませんが、やはり日本語自体では誤動作もあると聞きます。

>中国語版でのコードの文字入力例の一覧

後は、Google の中国語の VBA検索かな?

こんばんは。

それそのものは知らないけれども、

>環境設定

Excel 97以上でしたら、Unicodeですから、Visual Basic Editor のツール-オプションの[エディタのフォント]で適当なフォントを選べばよいのではないでしょうか?

ワークシート側はどうなっているのでしょうか?
やっぱりUnicodeが標準なのでしょうか?興味があるところです。日本語版は、Shift JIS なんですよね。たぶん、若干、仕様自体が変るような気がします。

VBAでいうと、Findメソッドや、StrConv の引数が違いますね。オプショ...続きを読む

Q中国文字のプログラムでの取り扱い

中国文字のVisual Basic6での取り扱いについて教えてください。
環境 Windows7、Visual Basic6、IE8
秀丸エディタなどでUTF-8モードとして、「书信」などの漢字(左の字が中国簡体字、右の信は日本文字と同じ)をファイルに入れておき、これを読み取って、HTML文で表示できるようにするプログラムを作ろうとしています。
Visual Basic6の変数に入れるとUnicodeとして処理されるので実行中に止めて表示させても、またHTML文書で表示させても”???”と文字化け状態になります。
そこでOKwebにてコード変換を教えていただいたのでUnicodeをUTF-8に変換すると「?信」となります。
何か変ですがこれをさらにUTF-8からUniCodeに変換すると”???”と表示されるようになります。
中国簡体字の部分だけがどうしても表示できません。どうしたら表示できるのでしょうか?

なお本件とは直接の関係はありませんが、HTMLソースを秀丸で表示させて「书信」を張り付けると、ソースでも、またブラウザ・IE8で表示させても正しく「书信」と表示されます。

中国文字のVisual Basic6での取り扱いについて教えてください。
環境 Windows7、Visual Basic6、IE8
秀丸エディタなどでUTF-8モードとして、「书信」などの漢字(左の字が中国簡体字、右の信は日本文字と同じ)をファイルに入れておき、これを読み取って、HTML文で表示できるようにするプログラムを作ろうとしています。
Visual Basic6の変数に入れるとUnicodeとして処理されるので実行中に止めて表示させても、またHTML文書で表示させても”???”と文字化け状態になります。
そこでOKwebにてコード...続きを読む

Aベストアンサー

VB6の標準コントロールに日本語や中国語の混在文を
表示することはできないので、UNICODEに対応した
コントロールに表示するようにします。

二つのコントロールに同時に表示してみます。

準備:
プロジェクトからコンポーネントを選択し、
Microsoft Internet Controls
msrtedit 1.0 Type Library
の二つにチェックを入れて適用、OKとします。

フォームにコマンドボタンを一つ、
WebBrowserコントロールとAMSREditを
フォームに設定します。

以下のコードを設定してください。
なお、test.txtはプロジェクトと同じディレクトリ
においているとしています。他のディレクトリに
おいている場合はフルパスを設定してください。

Private Sub Command1_Click()

'RichEditに表示
With New ADODB.Stream
.Type = 2
.Charset = "UNICODE"
.Open
.LoadFromFile (App.Path & "\test.txt")
AMSREdit1.text = .ReadText(-1)
End With
'WebBrowserに表示
WebBrowser1.Navigate App.Path & "\test.txt"
End Sub

VB6の標準コントロールに日本語や中国語の混在文を
表示することはできないので、UNICODEに対応した
コントロールに表示するようにします。

二つのコントロールに同時に表示してみます。

準備:
プロジェクトからコンポーネントを選択し、
Microsoft Internet Controls
msrtedit 1.0 Type Library
の二つにチェックを入れて適用、OKとします。

フォームにコマンドボタンを一つ、
WebBrowserコントロールとAMSREditを
フォームに設定します。

以下のコードを設定してください。
なお、test.txtはプロジェクト...続きを読む

Q日本語版エクセルの英語化

現在アメリカに在住の学生です。

日本で購入したパソコンなので、オフィスの言語がすべて日本語なのですが、
授業の関係上英語版のエクセルを使用する必要性が出てきました。

そこで、質問なのですが、
下記条件の場合、無料でエクセルの英語版が使用できる方法をご教示頂けないでしょうか。
※自分で方法を探したのですが、見つかりませんでした(T_T)。

OS:   windows7 ホームプレミアム日本語版
オフィス:エクセル、ワード2007の日本語版
      PPTのみ2003日本語版

※エクセルの英語版とはツールバーなどの日本語表記をすべて英語に変更したいという事です。

Aベストアンサー

インストールしたOfficeの中に「Micrososft Office ツール」がありませんか?
その中に「Microsoft Office言語ツール」があればどの言語がインストールされているか見ることが出来ます。

2007はよくわかりませんが私の2010では「日本語」と「英語」(実際はJapaneseとEnglish )がインストールされていますので
OSの言語に関係なくOfficeの表記言語を変更できます。

ない場合は追加インストール(インストールする際に「標準」ではインストールされていない筈)して
「Micrososft Office ツール」を追加してみてください。

参考URL:http://snow-white.cocolog-nifty.com/first/2010/03/office-2007-lan.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング