diogoarsousa Posted January 6, 2010 at 12:13 PM Report Share #304445 Posted January 6, 2010 at 12:13 PM Olá E tenho um programa em VB6 que abre uma folha de cálculo Excel 2003 e o programa utiliza expressões funções do Excel do tipo AVERAGE ou MIN e funciona bem. Estou agora a desenvolver o mesmo programa em Visual Basic.NET 2003 e se não utilizar MÉDIA ou MÍNIMO, não reconhece as funções. Por outro lado as fórmulas, que funcionavam com o VB6, agora dão erro: Folha2.Range("C1").FormulaR1C1 = "=RC[-2]/20" O que é que eu posso fazer? Obrigado Diogo Link to comment Share on other sites More sharing options...
jpaulino Posted January 6, 2010 at 01:22 PM Report Share #304454 Posted January 6, 2010 at 01:22 PM O VB.NET não aceita várias funções que o VB6 aceitava ao trabalhar no Excel Aceitar aceita, tu é que não sabes 😉 Mostra lá que funções e mostra lá mais código. Link to comment Share on other sites More sharing options...
diogoarsousa Posted January 7, 2010 at 09:05 AM Author Report Share #304576 Posted January 7, 2010 at 09:05 AM Por exemplo, no código do VB6 tinha e tenho o Office em português: Folha1.Range("E" & CStr(ultimo + 2)).value = "=AVERAGE(" & "E" & CStr(primeiro + 1) & ":" & "E" & CStr(ultimo + 1) & ")" O VB.NEt exige-me que eu escreva MÉDIA em vez de AVERAGE. E também todos os «FormulaR1C1» dão erro: Folha2.Range("C1").FormulaR1C1 = "=RC[-2]/20" Obrigado Diogo Link to comment Share on other sites More sharing options...
AMateus Posted January 7, 2010 at 10:34 AM Report Share #304590 Posted January 7, 2010 at 10:34 AM Não sei se é o caso, mas acho que o nome das funções na versão inglesa e na versão portuguesa são diferentes. Por algum motivo que me escapa, na localização do software para português traduziram também as funções. Pode ser essa (deve ser com certeza) a situação no caso das funções. SE em vez de IF, SOMA em vez de SUM, por aí! Claro que prefiro não fazer comentários a esta hmmm decisão de estratégia de localização! Normalmente não gosto de insultar ninguém! AMateus R. Tape Loading Error Link to comment Share on other sites More sharing options...
ribeiro55 Posted January 7, 2010 at 11:04 AM Report Share #304597 Posted January 7, 2010 at 11:04 AM Eu até entendo a estratégia, e nao é má. Parece um pequeno preço a pagar para que se tenham muito mais utilizadores contentes do que se teria da outra forma. A relação da Framework com o Office está muito mais "forte" do que antes, permitindo uma interoperabilidade muito elevada, o que vai fazer, de certeza, com que se tenha de respeitar o "locale". Com o VB6 devia passar por um intermediário que ia ao cerne da questao, ou algo assim. Estou a especular à força toda ? Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
jpaulino Posted January 7, 2010 at 11:22 AM Report Share #304599 Posted January 7, 2010 at 11:22 AM Eu discordo totalmente das funções no Office em PT estarem em Português. Os comandos de programação (Dim, Private, For Each, etc) também não estão traduzidos. Tanto não concordo tanto que, como faço parte do programa do Office como tester, já coloquei essa questão e sugeri pelo menos a possibilidade de alterar num menu/opção qualquer. @diogoarsousa , Isso que mostraste não dá para nada. Mostra mais código: imports, que referências usaste, o que é o "Folha2" por exemplo, tens intelissense para te aparecer "FormulaR1C1", etc, etc. Assim, é dificil ajudar-te 😕 Link to comment Share on other sites More sharing options...
diogoarsousa Posted January 7, 2010 at 12:17 PM Author Report Share #304611 Posted January 7, 2010 at 12:17 PM Add Reference COM Microsoft Excel 11.0 Object Library No Form apareceu-me: Imports Excel = Microsoft.Office.Interop.Excel O que é intelissense para aparecer "FormulaR1C1"? Pequenas partes do programa: Dim objApp As New Excel.Application() Dim Folha1 As Object Dim Folha2 As Object Dim Grafico As Object objApp.Workbooks.Add() Folha1 = objApp.ActiveWorkbook.Worksheets.Add Folha1.Name = "Quadro" Folha2 = objApp.ActiveWorkbook.Worksheets.Add Folha2.Name = "Quadro Auxiliar" Grafico = objApp.ActiveWorkbook.Charts.Add Grafico.Name = "Gráfico" objApp.Visible = True Folha2.Activate() Tudo o que meta «Formula» dá erro Folha2.Range("C1").FormulaR1C1 = "=RC[-2]/20" Obrigado Diogo Link to comment Share on other sites More sharing options...
AMateus Posted January 8, 2010 at 11:02 AM Report Share #304749 Posted January 8, 2010 at 11:02 AM Na tua lógica então todas as linguagens deveriam ser traduzidas? Além do IDE, traduzia-se as funções, operadores, comandos da linguagem? 😁 Por acaso era interessante ver o c++ traduzido, ou o .net 😕 É totalmente absurdo, mas isso é a minha opinião claro, e respeito a tua 😁 AMateus Eu até entendo a estratégia, e nao é má. Parece um pequeno preço a pagar para que se tenham muito mais utilizadores contentes do que se teria da outra forma. A relação da Framework com o Office está muito mais "forte" do que antes, permitindo uma interoperabilidade muito elevada, o que vai fazer, de certeza, com que se tenha de respeitar o "locale". Com o VB6 devia passar por um intermediário que ia ao cerne da questao, ou algo assim. Estou a especular à força toda ? R. Tape Loading Error Link to comment Share on other sites More sharing options...
ribeiro55 Posted January 8, 2010 at 12:02 PM Report Share #304759 Posted January 8, 2010 at 12:02 PM Eu não estou a defender a estratégia. Também me mete nojo escrever "SE". Eu disse que entendo a estratégia. Ao traduzir as funções do excel (que é a única coisa que está aqui em causa. dizer "todas as linguagens" é estar a meter-me palavras na boca... ou na ponta dos dedos), a Microsoft está a agradar à fatia dos utilizadores que não são programadores, que deve ser, arriscaria dizer uma percentagem superior a 70%. Se fizeres a conta em euros/satisfação, vais ver que entendes a estratégia também. 😕 Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now