Archivo

Archivo para la Categoría "office"

[Office] Listo Office 2010 Beta

noviembre 19, 2009 Deja un comentario

Una buen noticia, ya esta disponible al publico en general la Beta de Office 2010, así que les recomiendo descargarlo y probarlo :D

Link para Descarga:

http://www.microsoft.com/office/2010/es/default.aspx

Etiquetas de Technorati: ,,

[Word] Saber el total de páginas en un documento

septiembre 3, 2009 2 comentarios

Otro post rápido, para contestar al comentario de un lector del blog…

“Primero, quiero agradecer que comenten, esto me ayuda a seguir posteando y claro a ustedes a seguir leyendo para compartir información, pero a lo que voy.”

Para saber el total de páginas la clase Microsoft.Office.Interop.Word.Application nos provee de una instrucción, pero para entender mejor esto… realice una demo rápida en un proyecto de tipo Console Application, aquí el código:

 

Sub Main()
    'Instancia de Word
    Dim Word As New Microsoft.Office.Interop.Word.Application

    'Abrimos un documento
    Word.Documents.Open("Ruta de tu documento")
    Word.Application.Visible = True
    Word.WindowState = WdWindowState.wdWindowStateMaximize

    'Mostramos el total de páginas del documento
    Dim totalPaginas As String = String.Empty

    totalPaginas = Word.Selection.Information(WdInformation.wdNumberOfPagesInDocument).ToString

    Console.WriteLine("El documento {0} contiente {1} paginas", Word.ActiveDocument.Name, totalPaginas)


    Console.WriteLine("preciona la tecla 'X' para cerrar el documento")

    Dim cerrar As Char = Console.ReadLine

    'Cerramos el archivo sin guardar cambios
    Select Case cerrar
        Case "X"
            Word.ActiveDocument.Close(SaveChanges:=False)
            Word.Application.Quit()
        Case "x"
            Word.ActiveDocument.Close(SaveChanges:=False)
            Word.Application.Quit()
    End Select

    Console.ReadLine()
End Sub

Creo que es muy fácil de entender, y si tienen alguna duda, ya saben que pueden comentar y si tengo la respuesta seguro lo poste. Como es otro post rápido aquí lo doy por terminado :P

Nota: no se les olvide agregar la referencia a la clase Microsoft.Office.Interop.Word.Application y después hacer su respectivo Imports:

Imports Microsoft.Office.Interop.Word

Saludos.

Etiquetas de Technorati: ,,,
Categorías:Ejemplos, office, Office 2007, Tips, Word

[Office] Office 2010 The Movie

julio 18, 2009 Deja un comentario

 

Etiquetas de Technorati: ,,

[Word] Colocar el cursor en la primera página

febrero 23, 2009 2 comentarios

Aquí un Tip, para colocar el cursor el inicio del Documento. Esto lo hacemos con una sola línea de código que es:

Word.Selection.HomeKey(Microsoft.Office.Interop.Word.WdUnits.wdStory, False)

El segundo parámetro nos indica si vamos a seleccionar el texto, si lo colocamos en True, selecciona desde el punto donde se encontraba el puntero hasta el inicio.

Etiquetas de Technorati: ,,

[Access] Obtener el tipo de datos y Formato de un campo en una Tabla

febrero 21, 2009 Deja un comentario

Aquí un tip más si quieren saber el tipo de datos lo hacen con esta instrucción:

miBD.TableDefs("Alumnos").Fields("ID").Type

El objeto miBD es de tipo data base que hereda de la clase DAO, para esto debes agregar una referencia al proyecto y después asignarle el tipo de datos de la Aplicacción Access más o menos así:

miBD = Access.CurrentDb

Para saber el formato de tipo de datos es con la siguiente instrucción:

miBD.TableDefs("Alumnos").Fields("ID").Properties("Format").Value

Espero que les sea de utilidad Saludos..

@nor

Etiquetas de Technorati: ,,,,,

[Access] Como identificar los efectos de Celdas de una Tabla

febrero 20, 2009 Deja un comentario

Que tal, pues ya pase de programar para Word y ahora me estoy reventando un round con Access, que para serles sincero me gusta mucho más, ya que en verdad se pueden hacer cosas muy interesantes. Pero bueno hay que hablar del post. Pues resulta que tengo que identificar que efecto tienen las celdas en formulario, lo podemos hacer fácil y rápido:

Access.Screen.ActiveDatasheet.DatasheetCellsEffect = 1

Con esta instrucción determinamos el efecto, la propiedad DatasheetCellsEffect es de tipo byte, los valores que le podemos asignar son los siguientes:

  1. Sin relieve
  2. Con relieve
  3. Bajo relieve

Espero que les sirva Saludos!!

Etiquetas de Technorati: ,,

[Word] Saber en que página esta el cursor en un Documento

febrero 9, 2009 Deja un comentario

Que tal, siguiendo con estos mini ejemplos de programación en Office, mientras pasa el tiempo, y en base a una pregunta eh aquí el como identificar en que página se encuentra el cursor en un Documento de Word.

El ejemplo siguiente es muy sencillo pero hice un menú para que pudieran apreciar el funcionamiento. Contiene un menú con las opciones:

  1. Abrir un Documento
  2. Mover el Cursor
  3. Cerrar Documento

El código es el siguiente.

Imports Word = Microsoft.Office.Interop.Word

Module Module1

    Public word As Word.Application
    Sub Main()
        word = New Word.Application
        Menu()
        Dim valor As Integer
        Do
            Try
                valor = Integer.Parse(Console.ReadLine())
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Proceso(valor)
            Console.Clear()
            Menu()
        Loop While valor <> 4

    End Sub

    Public Sub Menu()
        Console.WriteLine("1.- Abrir Documento")
        Console.WriteLine("2.- Mover Cursor")
        Console.WriteLine("3.- Cerrar el Documento")
        Console.WriteLine("4 Cerrar Aplicación")
        Console.Write("Selecciona alguna Opción :")
    End Sub


    Public Sub AbrirDocumento(ByVal val As Boolean)

        If val = False Then
            word.Documents.Open("C:\Demo.docx")
            word.Application.Visible = True
        Else
            word = word.ActiveDocument.Application
            For i As Integer = 1 To word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdNumberOfPagesInDocument)
                If word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber) = i Then
                    Console.WriteLine("El Cursor esta en la página: {0} ", i)
                End If
            Next
        End If
    End Sub

    Public Sub CerrarDocumento()
        
        For Each doc As Word.Document In word.Documents
            doc.Close(SaveChanges:=False)
        Next
        word.Application.Quit()
        
    End Sub

    Public Sub Proceso(ByVal id As Integer)
        Select Case id
            Case 1
                AbrirDocumento(False)
            Case 2
                Console.Clear()
                AbrirDocumento(True)
                Console.ReadLine()
            Case 3
                CerrarDocumento()
        End Select
    End Sub

End Module

Explicando el Código.

El primer método es el de Menú, que solo contiene las opciones que se muestran en pantalla.

Lugo esta el método de Abrir un documento, que consta de 2 etapas en base a una condición sencilla, recibe un variable booleana que según el valor es la acción que realiza. Con la opción uno solo abre el documento llamad Demo.docx que esta en la unidad C. En la opción 2 muestra un mensaje en la consola que indica que página esta el puntero.

El método de Cerrar el documento. (Sin comentarios)

Por ultimo el de proceso que evalúa que es lo que el usuario eligió.

La parte importante de este post es el saber como identificar en que página esta el puntero y esto se encuentra en el método AbrirDocumento y el código es este:

 

For i As Integer = 1 To word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdNumberOfPagesInDocument)
                If word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber) = i Then
                    Console.WriteLine("El Cursor esta en la página: {0} ", i)
                End If
            Next

Que recorremos la cantidad total de páginas del documento y obtenemos en que página esta puntero con la instrucción:

word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber)

Recuerden que para que funcione deben tener el archivo llama Demo.docx en su unidad D o colocar la ruta en donde se encuentre. Saludos.

@nor

Etiquetas de Technorati: ,,,

[Word] Cerrar cualquier documento de Word de cualquier instancia

febrero 4, 2009 4 comentarios

Ya es el tercer post sobre esto, y a petición de un comentario de mi amigo David. Solo una pequeña modificación para cerrar los documentos de Word. Les platico a lo que se refiere y porque publico este post. Resulta que trabajamos con objetos de Word, validación de eventos sobre el Office 2007 y muchas veces tenemos la necesidad de reiniciar una aplicación de Office sin guardar cambios, pero resulta que sino controlamos bien la liberación de los recursos o de los objetos nos puede traer varios errores.

Lo que me preguntaron es como cerrar todos las instancias de Word, pero sin hacerlo desde los procesos como lo menciono en otro post, es decir que pasa si abro un archivo cualquiera y después creo un instancia (desde código) y necesito validar no se… que se cierren todos los documentos, o que se guarden con nombres específicos, que se yo.

En el siguiente ejemplo cerramos absolutamente todos los documentos sin importar la instancia.

Imports Word = Microsoft.Office.Interop.Word

Module Module1

    Sub Main()

        'Variables
        Dim AppWord As New Word.Global
        Dim doc As Word.Document

        'Aquí cerramos todos los documentos sin guardar cambios
        For Each doc In AppWord.Documents
            doc.Close(SaveChanges:=False)
        Next

        AppWord.Application.Quit(SaveChanges:=False)

    End Sub

End Module

Si se dan cuenta es muy similar a lo que publique en el post de cerrar los documentos a partir de una instancia, pero  aquí hacemos referencia a la aplicación Global, esa es la diferencia para poder cerrar todos los documentos de Word que se encuentren abiertos en nuestro Sistema.

Para ver que funciona, prueben abriendo varios archivos de Word y luego ejecuten el programa, verán que se cierran todos sin guardar cambios.

Saludos.

@nor

Etiquetas de Technorati: ,,,

[Word] Como cerrar los documentos de Word a partir de una instancia

febrero 4, 2009 4 comentarios

En el post anterior vimos como cerrar los objetos de Word en base a la lista del proceso del Sistema. En este ejemplo vamos a ver como cerrarlos a partir de una instancia, esto lo podemos usar cuando trabajamos con objetos de Word para verificar que el usuario haga algo o que se yo, pero aquí el ejemplo.

Imports Word = Microsoft.Office.Interop.Word

Module Module1

    Sub Main()

        'Variables
        Dim AppWord As New Word.Application
        Dim doc As Word.Document

        'Agregamos cuatro documentos en blanco y escribimos un texto
        For i As Integer = 0 To 4
            AppWord.Documents.Add()
            AppWord.Application.WindowState = Word.WdWindowState.wdWindowStateNormal
            AppWord.Visible = True
            AppWord.ActiveDocument.Sections(1).Range.Text = "Mi Documento numero:  " & i
        Next

        'Aquí cerramos todos los documentos sin guardar cambios
        For Each doc In AppWord.Documents
            doc.Close(SaveChanges:=False)
        Next
        AppWord.Quit(SaveChanges:=False)

    End Sub

End Module

Explicando el código.

Primero creamos una instancia de Word y un documento para poder hacer el recorrido por el arreglo de Documentos abiertos.

En el For creamos 5 documentos maximizamos la ventana y la mostramos, al mismo  tiempo que agregamos un texto al mismo.

Después por medio del For each recorremos todos los documentos que creamos (incluso sirve si los abrimos), los cerramos sin guardar cambios.

Por ultimo cerramos nuestra instancia de Word.

Espero que les sea de utilidad.

Saludos.

@nor.

Etiquetas de Technorati: ,,,

[Word] Cerrar todas las instancias de Word en el Sistema

febrero 4, 2009 Deja un comentario

Muchas veces tenemos la necesidad de cerrar o tronar los procesos de un objeto de Office, en este caso de Word. El siguiente ejemplo muestra como hacer.

Imports System.Diagnostics

Module Module1

    Sub Main()
        Dim procs() = Process.GetProcesses
        Dim pr As Process
        For Each pr In procs
            If (pr.ProcessName = "WINWORD") Then
                pr.Kill()
            End If
        Next

    End Sub

End Module

Utilizamos el nombre de espacios Diagnostics, que nos permite obtener los procesos que se están ejecutando en el Sistema. lo que hacemos es obtener un arreglo de dichos procesos para después recorrerlos e identificar cuales son los que queremos tronar. Por ultimo ejecutamos el método Kill el cual detiene inmediatamente el proceso asociado.

Espero que les sea de utilidad, y como se observa en el ejemplo podemos aplicar esto a cualquier proceso, e incluso ejecutar algún otro que no este corriendo.

Saludos.

 

Etiquetas de Technorati: ,,,,

[VSTO] Manejando Estilos de texto en Word

enero 28, 2009 Deja un comentario

Este es el primer post de una serie (espero que sea larga) en donde hablare de como trabajar un poco con VSTO desde .NET, realmente son ejemplos sencillos pero espero que les sean de utilidad sobre todo cuando trabajan con documentos de Office y necesitan optimizar algunos procesos. Iniciamos con el los Estilos en Word

¿Cómo asignar un Estilo rápido a un párrafo en Word?

Public Sub AsignarEstilo(ByVal doc As Word.Document, ByVal nomEstiloRapido As String, ByVal numParrafo As Integer)
        Dim s As Word.Style

        For Each s In doc.Styles
            If s.QuickStyle Then
                If s.NameLocal = nomEstiloRapido Then
                    doc.Paragraphs(numParrafo).Range.Style = s
                End If
            End If
        Next
    End Sub

Explicando el método. Recorremos todo el arreglo de estilos con los que cuenta un Documento de Word, utilizando la propiedad QuickStyle para identificar los estilos rápidos, como el método recibe el nombre del Estilo rápido lo comparamos y para asignarlo al párrafo que le indicamos cuando llamamos al método.

Etiquetas de Technorati: ,,,,

Microsoft Office a precio especial sólo para Universitarios

enero 22, 2009 Deja un comentario
Si aun no cuentas con la versión original de Microsoft Office Ultímate 2007, esta es tu oportunidad aprovecha los descuentos que ofrecen y descárgalo por solo $499
 

Para mas información comunícate al 52 67 21 12 opción 1 ó 01 800 849 9998

Interoperabilidad entre VSTO y VBA

enero 21, 2009 1 Comentario

Muchas veces cuando trabajamos con código VBA para los objetos de Office nos topamos con algunos problemas, tal vez porque no existen funciones con las que estamos acostumbrados a trabajar en .NET como un CType, un CAST o algo parecido. Además de que resulta un tedioso revisar todos los objetos o CommandBars para los objetos de Office 2007.

Es aquí en donde hacemos uso de una de las nuevas características de Visual Studio 2008 y la  ultima versión de Visual Studio Tools for Office que nos permite expandir nuestro código de VBA o en su caso crear un Add para un documento  con funciones previas de unas macros o lo que se les ocurra hacer, bueno les digo como hacer esto de manera sencilla.

1.- Creamos un Documento de Excel y creamos una tabla con “X” datos, que se ve más y creamos un Gráfico de estos datos para que quede más  o menos así:

image

Luego nos vamos a la parte de Visual Basic en la parte de programación y escribimos una función que nos diga que tipo de Gráfico es, que es más o menos así

Public Function NombreGrafico() As String
    Dim graf As Chart
    Set graf = ThisWorkbook.ActiveSheet.Shapes(1).Chart
    NombreGrafico = CSng(graf.ChartType)
End Function

Si ejecutamos esta función nos regresa solo un numero que corresponde al tipo de Grafico que elegimos.

image image

Y es aquí en donde vamos a ver que es lo que podemos hacer con esta Interoperabilidad entre VSTO y VBA. La interoperabilidad entre estas dos tecnologías consiste básicamente en la comunicación y utilización del código que generamos. Se puede comunicar una función de VBA en VSTO y viceversa, es decir; existen 2 maneras de comunicarnos entre si, vamos a ver de que se trata.

La Primera Llamar una función de VBA desde el Visual Studio 2008 (VSTO)

Para realizar esto tenemos que trabajar con una copia de un documento en este caso el que acabamos de hacer con la función de NombreGrafico. Para poder hacer uso de este documento es necesario que lo guardemos como un archivo de Excel habilitado para macros. Mi archivo lo llame ExcelDemo. Ahora lo voy a abrir desde el VS 2008, para esto creo un proyecto de tipo Libro de Excel 2007 pero selecciono la opción Copiar un documento existente y busco el que guarde (recuerden cerrar el archivo con el que vamos a trabajar)

imagen4

Damos clic en Aceptar y nos realiza una copia del documento en la raíz de nuestro proyecto. Ahora podemos comenzar a trabajar con este. Podemos llamar al método que creamos en VBA desde Visual Studio, para esto solo cuando inicie mandaremos el mensaje con el nombre del grafico, entonces escribimos el siguiente código:

Private Sub ThisWorkbook_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
        MessageBox.Show(Me.Application.Run("NombreGrafico").ToString())
    End Sub

Lo que nos manda un mensaje en pantalla con el numero 93, que corresponde al grafico si. Esta es la primera manera de llamar código entre uno y otro, lo cual trae desventajas porque como se pueden dar cuenta lo corremos como un texto y no tenemos ayuda del intellisense lo que ocasiona muchos errores sino se toman las medidas necesarias.

La segunda y la más importante es la de llamar código de VSTO desde VBA

Bien para esto, necesitamos habilitar una propiedad de nuestro documento en Visual Studio que se llama: EnableVbaCallers la cual especifica si los miembros públicos de la case serán visibles desde VBA al mismo tiempo de habilitar esta propiedad se habilita otra llamada ReferenceAssemblyFromVbaProject que especifica si se debe agregar una referencia a la bilbioteca de tipos del ensamblado al proyecto de VBA en el documento. Al habilitar estas propiedades el VS nos manda un mensaje con las siguientes indicaciones.

image

Lo que nos dice aquí, es que no se guardar el código en el documento ya que recuerden que estamos trabajando sobre una copia del documento original si queremos hacer esto tendremos que copiar el código que generamos y copiarlo en el documento original. Bueno ahora vamos a realizar un método que podamos llamar desde VBA, el código es el siguiente:

    Public Function TipoGrafico() As Excel.Chart
        Return Me.ActiveSheet.Shapes.Item(1).Chart
    End Function

Y ejecutamos nuestro proyecto y cuando abre nuestro archivo de Excel presionamos Alt+F11 para abrir la ficha de programación y si abrimos el código de Thisworkbook.vb podemos observar que genera el siguiente código

Property Get CallVSTOAssembly() As DemoExcel.ThisWorkbook

    Set CallVSTOAssembly = GetManagedClass(Me)

End Property

y para ver que funciona hacemos un método que use este código, y nos queda así:

Public Function TypoGrafico() As String

    Dim graf As Chart

    Set graf = ThisWorkbook.CallVSTOAssembly.TipoGrafico

    TypoGrafico = CSng(graf.ChartType)

End Function

Como se pueden dar cuenta es hace lo mismo que el anterior, pero nos podemos dar cuenta de que si funciona ya que tiene el nombre del método que creamos en VS

image

Espero que les sea de ayuda este post, es sencillo pero ilustrativo, ya estaré platicándoles más acerca de esto, ya que me encuentro trabajando en un proyecto sobre este tema.

Saludos.

Etiquetas de Technorati: ,,,

Modificar los Registros de Office con C#

enero 13, 2009 13 comentarios

Hace algún tiempo  escribí como abrir un documento de Office dentro de un formulario pero para que esto funcionara tenemos que modificar los registros de Office, acabo de recibir un comentario de como hacer esto desde código C# y aquí el como hacerlo

Creamos una aplicación de Consola, y agregamos las referencia “Microsoft.Win32” y escribimos el siguiente código:

static void Main(string[] args) { try { RegistryKey miRegistro = Registry.LocalMachine.OpenSubKey(

@"SOFTWARE\\Classes\\Word.Document.8", true); //de esta manera escribimos el valor que queremos miRegistro.SetValue("BrowserFlags", 10); //con el metodo GetValue obtenemos nuestro valor que asignamos y lo mostramos en pantalla Console.WriteLine("Decimal " + "{0,10:G}: " +

"Hexadecimal{0,10:X}", miRegistro.GetValue("BrowserFlags")); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.WriteLine("Esto lo leíste en http://mspnor.wordpress.com :P "); Console.ReadLine(); } }

Algunos de los métodos que trae un objeto RegistryKey son:

OpenSubKey: para abrir una clave.

GetValue: Para obtener el valor de una entrada de la clave abierta

SetValue: Para crear una entrada nueva, o modificar el valor de una entrada.

DeleteValue: Para borrar una entrada.

CreateSubKey: Para crear una clave de registro.

Además observamos que cuando mandamos a imprimir en pantalla hacemos una conversión de los valores, recuerden que podemos ingresar los valores decimales o hexadecimales.

Espero que les ayude. aunque esto de mostrar los Documentos de  Office dentro del formulario solo funciona con Word, PowerPoint y Excel. El modificar los registros trae como consecuencia que cada ves que quieran abrir un documento desde internet este se va a abrir en Internet Explorer porque lo que modificamos es el ambiente en el que se abren los objetos.

Etiquetas de Technorati: ,,,

Servicios Live para el Consumidor – PDC 2008

octubre 28, 2008 Deja un comentario

Así es amigos, dentro del PDC 2008 (Professional Developers Conference) están dando mucho de que hablar y mucho de que postear, al igual que muchas ganas de probar nuevos productos, SO, Azule, etc. y claro desarrollar con estas nuevas tecnologías. En este evento claro que hay personas con las que puedo platicar y precisamente es nuestro amigo Rubén Mugártegui quien ha proporcionado información que se esta dando allá.

image

Esta vez, toca el turno para hablar de los Servicios Live, entre ellos lo que esta en versión Beta, que se trata de un servicio que permite sincronizar documentos, medios, archivos y datos de aplicaciones a través de múltiples PCs y dispositivos, y está disponible como una prueba piloto abierta en la página http://www.mesh.com para Windows XP, Windows Vista, Mac OS X y Windows Mobile.

diagram_top

A continuación un fragmento de lo que nos cuenta Rubén sobre los Servicios Live para el consumidor.

Durante PDC Microsoft demostró varias capacidades de la plataforma Live Services, incluyendo la forma en que los desarrolladores pueden crear aplicaciones y ofrecer experiencias integrales que se pueden extender a más de 400 millones de usuarios de los servicios Windows Live de la compañía, tales como Windows Live Hotmail y Windows Live Messenger. Microsoft también enfatizó que su plataforma Live Services es el medio por el cual productos como Windows Live, Office Live y Xbox LIVE brindan experiencias que abarcan más allá del nivel de una sola PC, dispositivo móvil o la Web, y que estas mismas capacidades ahora están disponibles para desarrolladores a través de su plataforma Live Services.

“Sin duda estamos en un gran momento de innovaciones tecnológicas para el futuro, software como Windows 7 y servicios Live para el consumidor representarán la nueva era digital, para la cual debemos prepararnos. Hoy tenemos Windows Vista, un sistema operativo mejorado que permite crear aplicaciones con una experiencia muy rica para el usuario y mejora la productividad tanto para el escritorio como para Internet y va preparando el camino para una futura adopción del sistema operativo, que está en etapa de desarrollo, ya que fue diseñado bajo la misma plataforma de Windows Vista, lo cual hará mucho más fácil la transición” comentó Lozada.

      La experiencia del usuario final es el principal foco en el desarrollo de aplicaciones altamente interactivas para Windows XP y Windows Vista y permite a los usuarios finales aprovechar estas aplicaciones en cualquier dispositivo que sea de uso común en su vida diaria. Falta ver que viene con Windows 7 (del que ya hablaremos en otro post).

Office 14 = Office Web Applications

octubre 28, 2008 1 Comentario

Siguiendo con todas estas ola de nuevas tecnologías que se estás mostrando en estos momentos en el PDC 2008 en los Ángeles, toca el turno de Office, y si bien es un tema bastante interesante en lo personas, ya que últimamente (2 semanas más o menos), que me estoy peleando un objetos de Office (Word, Power Point, Excel), para manipulación de eventos, validaciones, etc.. Al momento de enterarme de lo que viene con Office 14, se me ha dibujado una sonrisa en el rostro :D , y esto por todo lo que les ofrecerá tanto a usuarios como a desarrolladores.

La idea principal de Microsoft Office Web Applications va más allá de un fácil manejo sobre los tipos de documentos Office (Word, Power Point, Excel y OneNote), sino que se trata de la visualización, edición y colaboración entre las 3 grandes plataformas con las que convivimos día a día que son, la PC, los móviles y la Internet.

Una característica importante de esto es que Web Applications tendrán características multiplataforma, de manera que podremos trabajar con nuestros documentos desde Internet Explorer, Firefox o Safari. Por supuesto, por debajo vamos a tener una plataforma de sincronización perfecta que nos permitirá trabajar con nuestros documentos en los tres entornos comentados, sin pérdida de datos y con actualización instantánea de datos.

Aquí unas imágenes de lo que al parecer es un archivo de Office que se muestra en los Exploradores IE y Firefox.

191-thumb192-thumb

Si bien esto lo podemos lograr hoy en día modificando algunos registros como para poder ver documentos de Office en el IE7 como se muestra a continuación:

image

Será fantástico ver como es el funcionamiento, y el rendimiento. Me intriga saber muchas cosas sobre lo que se podrá hacer. Por el momento a esperar que nuevas noticias nos tienen los señores que están presentando el PDC 2008.

Etiquetas de Technorati: ,,,,

Microsoft Webcasts en Demanda

octubre 21, 2008 Deja un comentario

Muchas veces cuando iniciamos en el mundo del desarrollo de software nos topamos conque no existe mucha información, la verdad es que hoy en día este no es pretexto, además de contar con varios programas de aprendizaje contamos con un buen numero de material audio visual, mejor conocido como Webcast, en donde se tratan temas de mucho interés y sobre todo que son impartidos por personas muy experimentadas.

Por eso es que el día de hoy, por aquellos que conocen estos recursos pongo el link en donde pueden encontrar Webcast que están grabados y aquellos que están por realizarse.

mic_lat_webcast_technet_2

Aquí encontraremos información sobre tecnologías como: Forefront, Windows Vista, Windows Server, SQL Server, Office, Seguridad entre otros.

URL: http://www.microsoft.com/latam/technet/video/demanda.aspx

Cargar archivos de Office 2007 en un Formulario de Windows en C#

septiembre 26, 2008 69 comentarios

Algunas veces, tenemos la necesidad de mostrar cierta información contenida en algunos documentos de Office y lo que por lo regular hacemos en crear un objeto de aplicación Windows y que nos abra el office, cierto?. Pero como lo dice el nombre de este post, hoy vamos a ver como mostrar dichos documentos dentro del mismo formulario, sin abrir el ambiente de office 2007.

  1. Primero creamos un aplicación de Windows con C# a la que llamaremos OfficeWindows.
  2. Agregamos un control WebBowser y colocamos su propiedad Dock en Fill.
  3. Agregamos un control OpenFileDialog y un MenuStrip en donde colocamos la instucción de Abrir Archivo de Office para explorar el archivo que vamos a abrir.

El formulario debe quedar como se muestra en la siguiente figura:

image

Ahora vamos a agregar un poco de código para que esto función, el código es el siguiente:

namespace OfficeWindows
{
    public partial class Form1 : Form
    {
        public Object oDoc;
        public string FileName;
        public Form1()
        {
            InitializeComponent();
            this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
        }
       

        private void Form1_Load(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "Documentos de Office (*.docx, *.xlsx, *.pptx)|*.docx;*.xlsx;*.pptx" ;
            openFileDialog1.FilterIndex = 1;
            
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            oDoc = e.GetType().InvokeMember("Document", BindingFlags.GetProperty, null, e, null);
            Object oApplication = e.GetType().InvokeMember("Application", BindingFlags.GetProperty, null, oDoc, null);

        }

        private void abrirDocumentoDeOfficeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.FileName = "";
            openFileDialog1.ShowDialog();
            FileName = openFileDialog1.FileName;

            if (FileName.Length != 0)
            {
                Object refmissing = System.Reflection.Missing.Value;
                oDoc = null;
                webBrowser1.Navigate(FileName);

            }

        }

       
    }
}

Este es el código que va dentro del formulario, tomando en cuenta que dejaron los nombres por default a los controles. Y el resultado es el siguiente:

image

Ahora solo si quieren manipular los eventos que se hagan dentro del office, tendrán que crear un objeto de Word, Excel, etc. para manejarlos, espero que les sea de utilidad y nos escribimos en otro post.

Etiquetas de Technorati: ,

Categorías:C#, office, Office 2007

Microsoft Suite Office 2007 Service Pack 1 (SP1)

diciembre 11, 2007 Deja un comentario

Después de lanzar varios Service Pack para diferentes productos como Vista, Expression Desing, Expression Blen, etc, al final del año la Suite de Microsoft Office 2007 no se pude quedar atrás, así que Microsoft lanza ya el SP1 para este producto.

     office2007ei8

Entre las características de este SP1 podemos decir que entrega muchas mejoras al cliente, entre las cuales destacan la estabilidad y el funcionamiento, además de que incorpora realces a la seguridad del usuario. Es te Service Pack aplica para todos estos producto:

  • Microsoft® Office Basic 2007
  • Microsoft® Office Enterprise 2007
  • Microsoft® Office Home and Student 2007
  • Microsoft® Office Professional 2007
  • Microsoft® Office Professional Plus 2007
  • Microsoft® Office Small Business 2007
  • Microsoft® Office Small Business Management 2007
  • Microsoft® Office Standard 2007
  • Microsoft® Office Ultimate 2007
  • Microsoft® Office Access® 2007
  • Microsoft® Office Excel® 2007
  • Microsoft® Office FrontPage® 2007
  • Microsoft® Office InfoPath® 2007
  • Microsoft® Office Outlook® 2007
  • Microsoft® Office PowerPoint® 2007
  • Microsoft® Office Publisher® 2007
  • Microsoft® Office Word 2007
  • Microsoft® Office OneNote® 2007
  • Microsoft® Office Groove® 2007

La descarga es de aproximadamente 220 MB y claro esta disponible en español, aquí les dejo la URL de la descarga.

URL:http://www.microsoft.com/downloads/details.aspx?FamilyId=9EC51594-992C-4165-A997-25DA01F388F5&displaylang=en

Software de Microsoft en Español

diciembre 8, 2007 Deja un comentario

Si eres de las personas que les gusta probar el software antes que los demás ya tienes el software, o te encuentras descargándolo en estos momentos, el registro le proveerá de acceso por períodos de tiempo a los recursos de evaluación, los mismos lo ayudarán a hacer una mejor evaluación para descubrir, evaluar e implementar el software.

top_tech_evaluacionsoft

Entonces este es un buen lugar para ti, te presento el Centro de evaluación de Software de Microsoft en Español, ¿Qué tienes que hacer?

  • Primero: Registrarse para experimentar la evaluación.
  • Siguiente: Descargue el software de prueba.
  • Luego: Revise su bandeja de entrada para obtener los recursos de evaluación.

Así que ya saben que esperan a disfrutara :-)

URL: http://www.microsoft.com/latam/technet/prodtechnol/eval/default.mspx

Seguir

Get every new post delivered to your Inbox.