bir elektronik tablo dili nasıl düzeltilir?


0

Bir e-tablo yapıyorum ve e-tablo Office'te ayarlanan başka bir dile sahip kullanıcılarla paylaşılsa bile, tüm içeriğin İngilizce olduğundan emin olmak istiyorum. Olmadığı bir örnek (Fransızca varsayılan dildir):

görüntü tanımını buraya girin

Bu, belge düzeyinde mümkün mü? Ben biliyorum üzerinde dilleri yönetmek benim Büro kurulum , ben (o belge için) başkalarının kurulumlarında bu ayarı geçersiz eğer anlamak istiyorum


1
Hücreleri belirli bir dilde tarih göstermek için tek tek biçimlendirebileceğinizi biliyorum ( Referans ) ancak henüz bir çalışma kitabı düzeyinde ayar bilmiyorum.
Mühendis Toast

Bu tam olarak aradığım şey, ayarı nasıl kaçırmış olabileceğimi bilmiyorum! Lütfen yorumunuzu bir cevap olarak yeniden yazabilir misiniz?
WoJ

@EngineerToast Bunun sistem ayarlarını veya yalnızca ofis ayarlarını geçersiz kıldığını biliyor musunuz?
Raystafarian

1
@ Raystafarian Dili belirli bir hücreye zor kodlamak, hem Office hem de System için dilin tüm ayarlarını geçersiz kılar.
Mühendis Toast

Yanıtlar:


1

İşte tüm tarihlerin biçimini belirli bir dil olarak ayarlayacak bir VBA geçici çözümü. Sadece tarihleri ​​biçimlendirmek için yazılmıştır ancak bunu değiştirebilirsiniz. "Hücreleri Biçimlendir" iletişim kutusundaki seçeneklere bağlı olarak, yalnızca tarihler, saatler ve özel biçimler için bir etkisi olduğuna inanıyorum, ancak LCID'yi teknik olarak herhangi bir biçime ekleyebilirsiniz. İhtiyacınız olan değeri ayarlamak için dil kimlikleri listesineLCID ihtiyacınız olacak. (LCID Dec değil, LCID Hex kullandığınızdan emin olun)

Sub SetLanguageFormat()

    'Declarations
    Dim cell As Range
    Dim f As String
    Const LCID As String = "[$-0409]"
    Dim reg 'As RegExp  'Removed for late binding

    'Setup regular expression
    Set reg = CreateObject("vbscript.regexp")
    reg.Global = True
    reg.IgnoreCase = True
    reg.Pattern = "\[\$\-+[\w]*[\w]\]"

    'Loop through all cells and change the date formate
    For Each cell In ActiveSheet.UsedRange.Cells
        If IsDate(cell.Value) Then
            f = cell.NumberFormat
            If reg.Execute(f).Count > 0 Then
                'Language is set so replace it
                f = reg.Replace(f, LCID)
            Else
                'Langauge is not set so add it
                f = LCID & f
            End If
            cell.NumberFormat = f
        End If
    Next

End Sub

Bunu, bir hücreye sağ tıklayarak ve ardından "Hücreleri Biçimlendir ..." seçeneğine tıklayarak tek tek el ile de yapabilirsiniz.


İlginç, +1!
Raystafarian
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.