2016-03-31 3 views
1

У меня есть текстовое поле, традиционно обозначенное как TextBox1, мой TextBox1 принимает только ввод в верхнем регистре (для имен), но я использую тот же текст, чтобы сохранить файл в папке, когда я сохраняю, я хочу, чтобы имя человека быть в Title case isntead, но я не могу понять, как это сделать.Измените значение переменной на правильный случай в VBA?

Вот что я получил до сих пор (я не знаю, как использовать строки, так что простите, если есть werid ошибка):

Private Sub CommandButton1_Click() 
Dim title As String 
title = TextBox1.Value 
Console.WriteLine (StrConv(title, VbStrConv.ProperCase)) 
' Proper Case /\ 

On Error GoTo Erro1 
ChDir "C:\Modelos" 
Workbooks.Open Filename:="C:\Modelos\MODELO - PACKING LIST.xlsx" 
ChDir "C:\Users\andre.lins\Documents\Processos\Packs" 
Tryagain: ActiveWorkbook.SaveAs Filename:= _ 
"C:\Users\andre.lins\Documents\Processos\Packs\PKDB\Packing list - " & TextBox1.Value & ".xlsx", FileFormat:= xlOpenXMLWorkbook, CreateBackup:=False 



GoTo Errorjump 

Erro1: 

escape = MsgBox("Qualquer alteração modificará o modelo, por favor, evite modificar o documento. Deseja salvar uma cópia?", vbYesNoCancel, "Atenção") 

end sub 

ответ

2

Это обновление кода следует сделать трюк:

Private Sub CommandButton1_Click() 

    Dim title As String 
    Dim wrkBk As Workbook 

    'As this code sits behind the command button on the form, ME is a reference to the form. 
    title = StrConv(Me.TextBox1.Value, vbProperCase) 

    'Set a reference to the workbook - code or user interaction may change the activeworkbook. 
    Set wrkBk = Workbooks.Open("C:\Modelos\MODELO - PACKING LIST.xlsx") 
    wrkBk.SaveAs "C:\Users\andre.lins\Documents\Processos\Packs\PKDB\Packing list - " & title & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 

End Sub 
+0

Человек, большое вам спасибо! Ты лучший! Ты знал, сколько раз я пытался его решить ... Удивительный день !!! Ты заслуживаешь это (: – ADrex

 Смежные вопросы

  • Нет связанных вопросов^_^