2016-03-23 21 views
0

私は今Excel VBAをしばらく使用していますが、私は以前に遭遇したことのない問題に遭遇しました。私はポーランド語として設定されているelsesコンピュータを使用しているので、小数点区切り記号はコンマに設定されています。しかし、過去に私のコンピュータを同様にセットアップしても、問題はありませんでした。小数点の代わりに小数点のカンマを使用する変数

この現在のプロジェクトは、Visioで図面を作成します。

私は休憩を入れた場合ので、私は私が期待する何pgeWidth = 550/1.4

のように計算されたdouble型の変数は、VBAはVBAがやっていることがpageWidth = 392.857... を計算するだろうということです持って

pgeWidth = 392,857...ですpgeWidthの値をチェックします。値はコンマ区切りで表示されます。 pgeWidthはVisioのページ幅プロパティに設定され、392857 ... mm幅であると考えられ、明らかにエラーが発生します。

VBAはポイントの代わりにコンマ小数点記号を使用するのはなぜですか?

+0

Excelがフォーマット番号、通貨や時間にシステムローカル設定を使用します。 –

+0

VBAは出力の地域小数点記号を尊重しています。小数点記号がWindowsの地域設定でそのように定義されていても、Visioは小数点記号をカンマであるとみなしていないようです。どのバージョンのVisio? –

+0

Visioをよく知らない人からの別の考え。おそらく、値を「丸める」か「切り捨てる」ことができます。寸法をミリメートルの端数に指定する必要はありません。例えば。 'pgeWidth = Int(pgeWidth)'です。 –

答えて

0

あなたがポイントにさらに値を渡したい場合は、文字列に変数を変換してポイントをコンマを置き換えることを検討:

pgeWidth = replace(CStr(pgeWidth), ",",".") 
関連する問題