Notifications
Clear all

Nome do Workbook

4 Posts
1 Usuários
0 Reactions
1,354 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá novamente pessoal,

Vamos supor o seguinte:

- O nome do meu projeto é: PROJETO - 300 - CAPITAL.xls

A dúvida seria esta:

- Como eu poderia criar um MsgBox que mostrasse apenas o valor 300.

- O que consegui até agora foi isso:
MsgBox (Mid(ThisProject.Name, InStr(ThisProject.Name, "-") + 2, 3))

- Porém, quando se tem 1 ao invés de 300, já aparece um - do nome.

 
Postado : 27/10/2010 9:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Alternativa, se o nome do arquivo seguir o padrão do seu exemplo:

Sub Nome()

n = ActiveWorkbook.Name
r = ""

i = 1
j = Len(n)

Do While i <= j
If IsNumeric(Mid(n, i, 1)) = False Then
i = i + 1
Else
r = r & Mid(n, i, 1)
i = i + 1
End If
Loop
MsgBox (r)

End Sub

 
Postado : 27/10/2010 10:39 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Sem Loop:

Sub Nome2()

n = ActiveWorkbook.Name
i = Application.WorksheetFunction.Search("-", n, 1)
j = Application.WorksheetFunction.Search("-", n, i + 1)
MsgBox (Mid(n, i + 2, j - i - 3))

End Sub

 
Postado : 27/10/2010 10:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde Edson,

Usei essa informação pois queria adicioná-la ao MSProject.

Sendo assim, não achei nada que substituisse WorksheetFunction pela função do Project.

 
Postado : 27/10/2010 11:00 am