Macro - Guardar en Escritorio independientemente del nombre del usuario

04/07/2009 - 14:14 por Simple | Informe spam
Hola a todos es mi primer mensaje en este grupo.

La siguiente macro:

Application.DefaultSaveFormat = ""
ChangeFileOpenDirectory _
"C:\Documents and Settings\Administrador\Escritorio\"
ActiveDocument.SaveAs FileName:="Salvado.doc", FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="123456", _
AddToRecentFiles:=True, WritePassword:="",
ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False,
SaveFormsData _
:=False, SaveAsAOCELetter:=False

Guarda el documento activo con el nombre Salvado.doc y protegido con
la contraseña 123456 en el Escritorio del usuario de nombre
Administrador. Esto funciona bien en Windows XP y si el usuario es
Administrador.

Cómo puedo hacer para que la macro grabe el documento en el escritorio
del usuario independientemente de si está bajo XP o Vista y del nombre
de usuario?

O sea, si el usario está en XP pero se llama Juan esta macro no
funciona porque la ruta "C:\Documents and Settings\Administrador
\Escritorio\" no es correcta.

Si el usuario se llama Administrador pero está en Vista tampoco la
ruta sirve porque en realidad debería ser del tipo "C:\Users
\Administrador\Escritorio\" o algo parecido.

Preguntas similare

Leer las respuestas

#1 Monica May
05/07/2009 - 00:47 | Informe spam
hola,

Pregunto:

Y cual es la necesidad, el porque ? ... de guardarlo en el escritorio?

Comentanos..!

Saludos
Monica

La siguiente macro:
Application.DefaultSaveFormat = ""
ChangeFileOpenDirectory _
"C:\Documents and Settings\Administrador\Escritorio\"
ActiveDocument.SaveAs FileName:="Salvado.doc", FileFormat:= _
wdFormatDocument, LockComments:=False, _
Password:="123456", _
AddToRecentFiles:=True, WritePassword:="",
ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False,
SaveFormsData _
:=False, SaveAsAOCELetter:=False
Guarda el documento activo con el nombre Salvado.doc
y protegido con la contraseña 123456 en el Escritorio
del usuario de nombreAdministrador. Esto funciona bien
en Windows XP y si el usuario es Administrador.
...hacer para que la macro grabe el documento en el escritorio
del usuario independientemente de si esta bajo XP o Vista
y del nombre de usuario?
O sea, si el usario esta en XP pero se llama Juan esta macro no
funciona porque la ruta "C:\Documents and Settings\Administrador
\Escritorio\" no es correcta.
Si el usuario se llama Administrador pero está en Vista tampoco la
ruta sirve porque en realidad debería ser del tipo "C:\Users
\Administrador\Escritorio\" o algo parecido.
Respuesta Responder a este mensaje
#2 Simple
07/07/2009 - 21:13 | Informe spam
Hola Mónica, gracias por responder.

Necesito crear una macro que realice determinadas tareas y luego se
guarde automáticamente con un nombre y contraseña que yo elijo. Ese
archivo me tiene que ser enviado por correo electrónico y simplemente
para facilitarle la tarea a las personas a las que va dirijido sería
mucho más sencillo si logro que se guarde automáticamente en el
Escritorio independientemente del nombre de usuario y de la versión de
Windows que estén ejecutando.

Así luego les quedaría más fácil ubicar el archivo.

Tal vez también podría guardarse en MIS DOCUMENTOS en lugar del
ESCRITORIO si eso fuera posible igual serviría.

Ten presente que sería una archivo que usarían personas con escasos
conocimientos y no quiero complicarlos.

Gracias por cualquier aporte.

On 4 jul, 19:47, "Monica May" wrote:
hola,

Pregunto:

Y cual es la necesidad, el porque ? ... de guardarlo en el escritorio?

Comentanos..!

Saludos
Monica

Respuesta Responder a este mensaje
#3 Monica May
08/07/2009 - 22:12 | Informe spam
hola,

... macro que realice determinadas tareas y luego se
guarde automaticamente con un nombre y contrase#a que yo elijo...
archivo me tiene que ser enviado por correo electronico y...
para facilitarle la tarea a las personas a las que va dirijido seria
mucho mas sencillo si logro que se guarde automaticamente en el
Escritorio independientemente del nombre de usuario y de la version de
Windows que esten ejecutando.
... mas facil ubicar el archivo.
...tambien podria guardarse en MIS DOCUMENTOS en lugar del
ESCRITORIO...archivo que usarian personas con escasos
conocimientos y no quiero complicarlos.




Si quieres averiguar el entorno de un windows vista o xp del usuario que
abra tu archivo y saber en este caso la ruta del escritorio

entonces por ejemplo yo utilizaria un procedimiento que me devolviera la
ruta donde tengo la carpeta del Escritorio ...

...y para ello he elegido un codigo de nuestro companero Hector Miguel
Orozco :-) donde averigua el entorno tanto de un windows vista como de un
windows xp (Perfil, Escritorio, Mis documentos, Configuracion local, Datos
de programa y Temporales)>>


Mis Macros Favoritas: Referencia >> [ Procedimiento AveriguaMiEntorno() ]
http://www.teladearana.es/seccion/excel/47-h6.html

y que he adaptado para este caso en concreto...quedando asi para este caso






'[]
Sub Guarda_enMientorno_Escritorio()
Dim vista As Boolean, ClaveWin As _
String: With CreateObject("wscript.shell")
vista = .RegRead _
("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\CurrentVersion")
ClaveWin = IIf(Val(vista) < 6, "AppData", "Settings")
ActiveDocument.SaveAs FileName:=.SpecialFolders("Desktop") _
& "\minomwbrearchivo.doc"
End With: End Sub
'[]

Es una manera de averiguar mas limpiamente la ruta de estas carpetas Tanto
en Windows vista como por ejemplo en un Windows XP y tambien
independientemente del idioma Espanol o ingles, ... :) !

Comentanos!

Saludos
Monica
Respuesta Responder a este mensaje
#4 Monica May
09/07/2009 - 23:08 | Informe spam
Anotacion:

Se puede recortar el procedimiento anterior a lo siguiente:

Por Cortesia de Hector Miguel Orozco :-) >>

Sub Guarda_enMientorno_Escritorio()
ActiveDocument.SaveAs _
FileName:=CreateObject("wscript.shell").SpecialFolders("desktop") _
& "\miDocumento"
End Sub

Quitando la EXT-ension en la propiedad FileName, asume la version en la que
se ejecuta a menos que se necesite guardar en la version de Word 2007 como
archivo "habilitado con macros" o en versiones previas (97-2003)

Comentanos...!

Saludos
Monica


-
... macro que realice determinadas tareas y luego se
guarde automaticamente con un nombre y contrase#a que yo elijo...
archivo me tiene que ser enviado por correo electronico y...
para facilitarle la tarea a las personas a las que va dirijido seria
mucho mas sencillo si logro que se guarde automaticamente en el
Escritorio independientemente del nombre de usuario y de la version de
Windows que esten ejecutando.
... mas facil ubicar el archivo.
...tambien podria guardarse en MIS DOCUMENTOS en lugar del
ESCRITORIO...archivo que usarian personas con escasos
conocimientos y no quiero complicarlos.


Si quieres averiguar el entorno de un windows vista o xp del usuario que
abra tu archivo y saber en este caso la ruta del escritorio
entonces por ejemplo yo utilizaria un procedimiento que me devolviera
la ruta donde tengo la carpeta del Escritorio ...

...y para ello he elegido un codigo de nuestro companero Hector Miguel
Orozco :-) donde averigua el entorno tanto de un windows vista como de un
windows xp (Perfil, Escritorio, Mis documentos, Configuracion local, Datos
de programa y Temporales)>>
Mis Macros Favoritas: Referencia >> [ Procedimiento AveriguaMiEntorno() ]
http://www.teladearana.es/seccion/excel/47-h6.html
y que he adaptado para este caso en concreto...quedando asi para este caso
'[]
Sub Guarda_enMientorno_Escritorio()
Dim vista As Boolean, ClaveWin As _
String: With CreateObject("wscript.shell")
vista = .RegRead _
("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\CurrentVersion")
ClaveWin = IIf(Val(vista) < 6, "AppData", "Settings")
ActiveDocument.SaveAs FileName:=.SpecialFolders("Desktop") _
& "\minomwbrearchivo.doc"
End With: End Sub
'[]
Es una manera de averiguar mas limpiamente la ruta de estas carpetas
Tanto en Windows vista como por ejemplo en un Windows XP y tambien
independientemente del idioma Espanol o ingles, ... :) !
Respuesta Responder a este mensaje
#5 Simple
17/07/2009 - 10:48 | Informe spam
PERFECTO!!

Es justo lo que precisaba!!

Muchas gracias, seguiré leyendo este grupo para aprender más!!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida