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

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

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

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

A 回答 (2件)

日本語OS・日本語Excelで作ったのを(VBAあり)


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

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

もっと詳しい状況がわからないとなんともいえません
    • good
    • 0
この回答へのお礼

現地人の方が「地域と言語設定」で、Hungaryと設定していたことが原因でして、エクセル操作前に一時的に英語にするコードを追加することで解決しました。
ありがとうございました。

お礼日時:2007/10/07 00:12

英語Excelのバージョンに起因する場合もあります。


たしか、たとえばExcel2000だと、SortSpecialの特定の引数が
英語版Excelではエラーになりました。
具体的なエラーが書いてないので、なんともいえませんが。
    • good
    • 0
この回答へのお礼

No.1さんのお礼に書かせていただいたとおり、解決いたしました。

ありがとうございました。

お礼日時:2007/10/07 00:16

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

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

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

この記事を見ているあなたへのおすすめ

  • 17歳女子です。 夜の9時頃に兄がお風呂に入っていました。父はいつも2階の物置で窓を開けてタバコを吸

  • まさか1年で結婚できるなんて!婚活してよかった。きっかけは?

    PR 楽天オーネット

  • ただいま妊娠9ヶ月の妊婦です。夫に離婚を言い渡されました。きっかけは2

  • 【妻には言えない】深夜にこっそり使いたい変わり種アプリ30選

    PR .Apps

  • 私の夫が私の母を妊娠させて

  • 彼氏が自殺しました。

  • 40過ぎてセックスレス→セックスフルになった妻

  • 抱きしめたときに勃起したあそこが当たったら

  • iPhone上級者のホーム画面、こんなアプリが並んでました。

    PR 流行アプリ調査隊

  • 夫婦生活っていつまでしますか?

  • 中に出さなくても妊娠する人結構いますか?

  • 「今やってるゲームに飽きてきた…」人にオススメ神ゲー30選

    PR .Games(ドットゲームス)

Recommended by

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

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

Qエクセルマクロが海外PCで開けない

エクセルのマクロが入ったファイルが、海外の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

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

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

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

ファイルを開いた時(マクロを実行...続きを読む

Aベストアンサー

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

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

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

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

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

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

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

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セル内の文字列が日本語か英語かを厳密に識別したい

セル内(C3)にある文字列に、漢字・ひらがな・全角カタカナ・半角カタカナのうち、1個でもあれば、その文字列すべてを、右隣のセル(C4)に移し、それ以外の場合はさらにその右隣(C5)に移したいのですが、


たとえば、

(C3)「AMERICA/JAPAN」の場合は、(C5)に「AMERICA/JAPAN」と移します。

(C3)「AMERICA/Japan」の場合は、(C5)に「AMERICA/Japan」と移します。

(C3)「AMERICA/JAPAN#$%?<>」の場合は、(C5)に「AMERICA/JAPAN#$%?<>」と移します。


しかし

(C3)「日本とアメリカ#$%?<>」の場合は、(C4)に「日本とアメリカ#$%?<>」と移します。

(C3)「日本/america」の場合は、(C4)に「日本/america」と移します。

(C3)「日本/アメリカ」の場合は、(C4)に「日本/アメリカ」と移します。

(C3)「Japanとamerica」の場合は、(C4)に「Japanとamerica」と移します。

VBAで処理する場合、文字コード、Chr関数、Mid関数を使えばいいと思ってプログラムを組むところです。

ところが、漢字のコード番号が何番から何番までか、よくわかりません。カタカナ・ひらがなは調べられます。

正確でなくとも<>=の数値処理の範囲指定ですので、漢字コードの範囲を教えてくださいませんか。

また、この処理目的のために、よりシンプルなプログラムがありましたら教えてくださいませんか。
よろしくお願いします。

※簡単に言いますと、セル内が日本語の文章か英語の文章かを識別する作業です。

セル内(C3)にある文字列に、漢字・ひらがな・全角カタカナ・半角カタカナのうち、1個でもあれば、その文字列すべてを、右隣のセル(C4)に移し、それ以外の場合はさらにその右隣(C5)に移したいのですが、


たとえば、

(C3)「AMERICA/JAPAN」の場合は、(C5)に「AMERICA/JAPAN」と移します。

(C3)「AMERICA/Japan」の場合は、(C5)に「AMERICA/Japan」と移します。

(C3)「AMERICA/JAPAN#$%?<>」の場合は、(C5)に「AMERICA/JAPAN#$%?<>」と移します。


しかし

(C3)「日本とアメリカ#$...続きを読む

Aベストアンサー

日本語かどうかの判定関数です。
引数の中身が日本語ならTrueをそれ以外ならFalseを返します。

------------------
Function IsJapan(Arg As String) As Boolean
IsJapan = Not (LenB(StrConv(StrConv(StrConv(StrConv(Arg, vbWide), vbHiragana), vbNarrow), vbFromUnicode)) = Len(Arg))
End Function

Q英語版WindowsでのCSVファイルの日本語文字化け

いくつか英語版Windowsを持っているのですが、CSVファイルでどうしても日本語が文字化けして困っています。データファイルとしてWebSiteからダウンロードしたCSVは常に文字化けしています。自分でその英語版WindowsでExcelで作製して、「名前をつけて保存」でCSV形式保存しても、保存した瞬間は日本語のままですが、一度閉じてからまた開くと日本語部分は必ず文字化けしています。ExcelはOffice2003のものです。よい解決方法はありませんでしょうか。
何卒よろしくお願いいたします。

Aベストアンサー

すでに出ていますが、コンパネのRegional and Language Optionsで
「Language」タブのInstall files for East Asian languages チェックをいれ、必要なファイルがWindowsにはいれば、通常表示には問題ありません。

ただ一部のソフトでは、システムレベルで英語では動作に不具合がある場合、
同じコンパネの「Advanced」タブのLanguage for non-Unicode programs で 「Japansese」を選ぶことで解決するのですが、これを使用途中にやるとOutlook Expressの過去メールが見えなくなるかもしれません。
システムが切り替わるので、新たな画面では新しいプロファイルをつくるからです。

とここまでは一般的なソフト利用上の設定として、私がOffice2000の頃、体感したことです。

しかし書きながら調べていて気がついたことは、問題はExcelのCSVの吐き出し方にあるようです。
ネット上には質問者さんと似たようなケースに遭遇しているケースがあるようです。

http://www.tek-tips.com/viewthread.cfm?qid=1172405&page=1
http://macdiggs.com/2007/11/08/japanese-language-cvs-export-for-excel/

上記の後者のやり方をみても、文字コードの吐き出し方の関係で、やはりだめのようです。
リンクは見失いましたが、MSサイトではその言語のOfficeを使用することを推奨していました。

ただ後者の投稿へのコメントにもありますが、XMLに書き出すと解決したという書き込みがいくつかあったので、それで試してみてはどうでしょう。
現在自宅で2003がないので、試せないのですが。

すでに出ていますが、コンパネのRegional and Language Optionsで
「Language」タブのInstall files for East Asian languages チェックをいれ、必要なファイルがWindowsにはいれば、通常表示には問題ありません。

ただ一部のソフトでは、システムレベルで英語では動作に不具合がある場合、
同じコンパネの「Advanced」タブのLanguage for non-Unicode programs で 「Japansese」を選ぶことで解決するのですが、これを使用途中にやるとOutlook Expressの過去メールが見えなくなるかもしれません。
システム...続きを読む

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

Q作れますか?VBで、Windows英語版向けソフト。

WinNT4,VB6です。

特に別売りのOCXなど使用しないで日本語のプログラムを作りました。(VB6に付属しているコントロールは使っています)

今回英語圏で使用される事になったのですが、さてソフトをどのように変えたら良いか、困っています。
多国語対応の作り方があるのは知っていましたが、現在のソフトはそのようにしていません。

文字化けしない様にするにはどのようにしたら良いんのでしょうか?
フォントについては良く知らないですが、MS Pゴシックのままで良いのでしょうか?
文字化け以外に変更しなくてはいけないところはありますか?

ご存知の方、教えて下さい。お願いします。

Aベストアンサー

当然ながらVBからIE、Officeまですべてオリジナル版(English)を使用します。
またセットアッププログラムも当然ですが英語環境で生成し直しです。
⇒VB付属のデストリビューションウィザードをご利用でしょうか?
 できればマルチリンガル対応のInstallShieldをお勧めします。

海外ユーザの場合、営業がしっかりとユーザ対応をやってくれればいいのですが、
開発側に飛び火した場合は、はっきり言ってかなり面倒な事になります。
モジュール単位で慎重に行った方がいいでしょう。(経験談)

P.S.
補足ですが、マイクロソフトとのMSDN契約はご存知でしょうか?
日本語版から英語版、中国語版と多言語でかつ、
OSから開発環境、Office等までかなり安く揃える事ができますし、
最新版も定期的に送ってもらえます。
個人開発でないのならば組織として契約を検討してみてはいかがでしょうか?

参考URL:http://www.microsoft.com/japan/developer/default.asp

QEXCEL VBA で指定した範囲に入力があるかどうか?

こんばんは!!
EXCEL VBAを使い出して、初日からつまずいてます・・・。
みなさん、アドバイスよろしくお願いします!!

で、早速、質問なんですけど、
指定したセル範囲のいずれかに入力があるか調べたいんですけど、それができるプロパティとかってあるんでしょうか?
地道にセル毎にチェックするしかないいんでしょうか??

たとえば、範囲をA1:H1として、その範囲内のセルに何か入力があったらTrueが返ってくるとか・・・。

もし、知ってる方がいらっしゃたら教えてください!!
よろしくお願いします!!!!!

Aベストアンサー

>これは、まず範囲を選択して、入力チェック()を呼ぶことなのでしょうか
書いたモジュールは範囲が指定してあります。("A1:H11"は間違いです。質問からすると"A1:H1"です)何もしないで入力チェックを実行します。
モジュールを CountA(Selecton) に変えれば任意の選択範囲がチェックの対象になります。任意の範囲を選択して実行します。
メッセージは確認するためで、IF ・・・・ で入力有無が判定できます。

>ワークシート関数CountAってどうやったら出てくるんですか??
ついApplicationと書いてしまうんですが、『WorksheetFunction.』と打てば、候補の関数名が表示されると思います。

下記の fnc入力チェック は入力有無を返すユーザー定義関数です。
書き方の例です。分かりやすくなった?この例は引数に"A1:H1"をセットしています。任意の範囲にするには Selection.Address に変えます。

Sub 入力チェック()
  Dim 入力有無フラグ As Boolean        '入力有無の答え

  入力有無フラグ = fnc入力チェック("A1:H1")  'モジュール内でA1~H1を指定(固定)

  MsgBox 入力有無フラグ            '帰ってきた答えをメッセージボックスで確認
End Sub

'入力有無を返すユーザー定義関数
Function fnc入力チェック(checkAddress As String)
  If WorksheetFunction.CountA(Range(checkAddress)) > 0 Then
    fnc入力チェック = True
  Else
    fnc入力チェック = False
  End If
End Function

>これは、まず範囲を選択して、入力チェック()を呼ぶことなのでしょうか
書いたモジュールは範囲が指定してあります。("A1:H11"は間違いです。質問からすると"A1:H1"です)何もしないで入力チェックを実行します。
モジュールを CountA(Selecton) に変えれば任意の選択範囲がチェックの対象になります。任意の範囲を選択して実行します。
メッセージは確認するためで、IF ・・・・ で入力有無が判定できます。

>ワークシート関数CountAってどうやったら出てくるんですか??
ついApplicationと書いてし...続きを読む

QRange("A1")⇔cells(1,1)の変換。

EXCELのマクロについて質問します。
Range("A1")⇒(1,1)
cells(1,1)⇒("A1")
に一発変換する方法を教えて下さい。
時間があるかた宜しくお願いします。

Aベストアンサー

こんなのでよろしいでしょうか?
range("A1") → Range("A1").Row & "," & Range("A1").Column
cells(1,1) → Cells(1, 1).Address(False, False)
()や""は付けていません


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

人気Q&Aランキング

おすすめ情報