2017-05-30 10 views
2

私は以下のような簡単なExcelのスプレッドシートがあります。小数点の記号プログラム

  A     B   C 
1 25,000,000.50 
2 
3 

との内容でメールを送信するには、次のVBAコードをセルA1

Sub Separators_in_Email() 
    If ExitAll = False Then 
     Dim OApp As Object, OMail As Object, signature As String 
     Set OApp = CreateObject("Outlook.Application") 
     Set OMail = OApp.CreateItem(0) 
      With OMail 
      .display 
      End With 
      signature = OMail.HTMLBody 
      With OMail 
      .To = "[email protected]" 
      .Subject = "test" 
      .HTMLBody = "<p> I want this number " & Sheet1.Range("A1") & " to be shown with its decimal separators as in the Excel sheet</p>" 
      End With 
     Set OMail = Nothing 
     Set OApp = Nothing 
    Else 
    End If 
End Sub 

Eメール自体は完璧に動作します。

ただし、Excelのスプレッドシートに表示されているように、小数点の区切り記号として「、」を使用しています。電子メールでは、この小数点区切り文字は使用されません。その代わりに、数字は "、"を除いて25000000.5と書かれています。

VBAまたはHTML/CSSに正しい小数点区切り文字を含むシートの番号を表示する方法はありますか?あなたのコード行で

答えて

1

.HTMLBody = "<p> I want this number " & Sheet1.Range("A1") & " to be shown with its decimal separators as in the Excel sheet</p>" 

あなたは、セルの書式設定された値を返しますどのSheet1.Range("A1").TextSheet1.Range("A1")を置き換える必要があります。

Sheet1.Range("A1")を使用すると、セルのデフォルトプロパティ-- が書式なしの値を返します。 here

CSS/HTMLはこの問題の要因ではありません。

関連する問題