Archive for November 2007

Commandline Parameter in Excel 2007

23 November 2007

Angaben wie man Commandline Parameter oder Kommandozeilenparameter in Excel übergeben kann gibt es kaum. Die meisten Beispiele die im Internet herumgeistern beziehen sich noch auf Excel97. Doch leider funktionieren die einfachen Methoden mit neueren Versionen von Excel nicht mehr.

Wer aber z. B. in einer Batchdatei auf bestimmte Parameter reagieren will braucht folgenden Code:

Option Explicit
Private Declare Function GetCommandLine Lib “kernel32″ _
Alias “GetCommandLineA” () As Long
Private Declare Function lstrlen Lib “kernel32″ Alias _
“lstrlenA” (ByVal lpString As Long) As Long
Private Declare Sub CopyMemory Lib “kernel32″ Alias _
“RtlMoveMemory” (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Private Sub Workbook_Open()
Dim CmdLine$, CmdArgs$(), i&, ArgNb&
CmdLine = GetCommLine
If Len(CmdLine) = 0 Then Exit Sub
i = InStr(1, CmdLine, ThisWorkbook.FullName, 1)
If i Then CmdLine = Mid$(CmdLine, 1, i – 1) Else Exit Sub
If Right$(CmdLine, 1) = “””” Then i = 2 Else i = 1
CmdLine = Mid$(CmdLine, 1, Len(CmdLine) – i)
CmdLine = Mid$(CmdLine, InStr(1, CmdLine, ” /e”, 1) + 3, Len(CmdLine)) & “/”
Do Until Len(CmdLine) < 2
i = InStr(CmdLine, “/”)
ArgNb = ArgNb + 1
ReDim Preserve CmdArgs(1 To ArgNb)
CmdArgs(ArgNb) = Mid$(CmdLine, 1, i – 1)
CmdLine = Mid$(CmdLine, i + 1, Len(CmdLine))
Loop
For i = 1 To ArgNb
CmdLine = CmdLine & “Parameter ” & i & “: ” & CmdArgs(i) & vbLf
Next i
MsgBox CmdLine
End Sub

Private Function GetCommLine() As String
Dim Ret&, sLen&, Buffer$
Ret = GetCommandLine
sLen = lstrlen(Ret)
If sLen Then
GetCommLine = Space$(sLen)
CopyMemory ByVal GetCommLine, ByVal Ret, sLen
End If
End Function

Examples of use:
Execute dialog box:
excel /eInfo1/Info2 c:\your file.xls
with short cut:
“C:\Program Files\Microsoft Office\Office10\EXCEL.EXE” /eInfo1/Info2
“c:\your file.xls”
with batch file:
Start “C:\Program Files\Microsoft Office\Office10\EXCEL.EXE” /eInfo1/Info2
“c:\your file.xls”

Der Grund warum es mit dieser Methode funktioniert ist ganz einfach die Funktion GetCommLine, die benutzt nicht einfach den ermittelten Wert, sondern kopiert ihn mittels CopyMemory-API Aufruf sauber in einen String. Damit ist man die Schutzverletzungen los, die bei den älteren Lösungen auftauchen.

Das Original ist zu finden unter:
http://www.pcreview.co.uk/forums/thread-2004448.php

Audio bei Remote Desktop und WM6

21 November 2007

Mit erscheinen von WM6 war endlich Audioübertragung bei Remote Desktop Sitzungen möglich. Bei WM5 war dieser leider noch nicht möglich, siehe: http://newyear2006.wordpress.com/2006/06/14/audio-bei-terminal-dienste-und-wm5/

Aber es scheinen viele Hersteller von WM6 Geräten die Remote Desktop Unterstützung auszusparen vielleicht ist es auch ein Lizenzproblem mit MS. Aber es gibt ja Internet, so googlet man einfach nach: WM6 RDP-Finster.zip.

Weitere Infos unter: http://www.theunwired.net/?item=confirmed-remote-desktop-isn-t-a-windows-mobile-6-application-by-default-anymore

Grafikkartentreiber und deren Einstellungen erklärt

21 November 2007

Eine super und umfassende Beschreibung zu den Grafikkartentreibereinstellungen und deren Optimierung von ATI und nVidia, findet man hier:

http://www.tweakguides.com/ATICAT_1.html

http://www.tweakguides.com/NVFORCE_1.html

Vollbild bzw. Vollbildmodus unter Windows aktivieren

21 November 2007

Viele ältere Menschen scheinen von Klicki-klicki-Bunti etwas überfordert zu sein und sehnen sich nach der guten alten Zeit wo noch ein Programm im Vollbildmodus lief.

Für alte DOS-Programme diesen Zustand herzustellen wird langsam immer schwieriger.

Unter Windows Vista und einem richtig eingerichteten Rechner wo Aero aktiv ist, erscheint beim Versuch den Vollbildmodus zu aktivieren: Vollbildmodus wird von diesem System nicht unterstützt.

Hier kann man sich nur helfen, wenn man einen XP-Grafikkartentreiber installiert: http://support.microsoft.com/kb/926657/en-us

Aber auch wenn der Vollbildmodus läuft bzw. wenn man mit Windows XP oder 2000 arbeitet, so gibt es noch Tücken. Es kann es passieren, daß das sogenannte Vollbild als kleines Fenster in der Monitormitte von dicken schwarzen Balken umrahmt steht. Vollbild ist was anderes.

In diesem Fall kann man bei Notebooks im BIOS, falls vorhanden die Option “Expand Video” auf Enabled stellen. Falls dann das noch nicht reicht, dann muss man beim Grafikkartentreiber evtl. nachhelfen.

Bei der ATI 9xxx Mobility Grafikkarte z. B. kann man über Systemsteuerung->Anzeige->Einstellungen->Erweitert->Anzeige->Flachbildschirm den Punkt “Bild auf Bedienfeldgröße skalieren” aktivieren.

Bei den neuen ATI-Treibern gibt es das Catalyst Control Center (CCC) wo man die Skalierung unter “Monitor/Digital Panel Properties->Image Scaling” einstellen kann.

Bei nVidia gibt es das Forceware Treiber Paket, wo man unter “Flat Panel Scaling” die betreffenden Einstellungen findet.

Zu beachten ist, dass wenn man das Vollbild von der nativen Auflösung des Monitors entkoppelt, dann muss das Bild interpoliert werden, was meistens zu einem Schleier bzw. einer gewissen Unschärfe der Buchstaben führt, man muss sich halt entscheiden.

Backup unter Windows Server 2008

20 November 2007

Hier steht wissenswertes zur Sicherung unter Wíndows Server 2008.

http://technet2.microsoft.com/windowsserver2008/en/library/00162c92-a834-43f9-9e8a-71aeb25fa4ad1033.mspx?mfr=true

Übrigens wie auch schon unter Windows Vista werden unter Windows Server 2008 keine Backups auf Bandlaufwerke ohne Zusatzsoftware unterstützt.

http://blogs.technet.com/dmelanchthon/archive/2007/11/20/windows-server-2008-und-bandsicherung.aspx

16bit Anwendungen unter 64bit Windows

20 November 2007

Windows Server 2008 steht in den Startlöchern und läutet wohl das Ende von 32bit ein, denn es wird wahrscheinlich das letzte 32Bit Serverbetriebssystem von Microsoft sein.

Damit hat jeder ein Problem der vielleicht doch noch eine alte DOS-Anwendung am Laufen halten muss. Aber wie immer gibts was dafür. Einrichtung einer virtuellen Maschine für 16bit Programme:
http://blogs.msdn.com/virtual_pc_guy/archive/2007/03/06/setting-up-a-virtual-pc-dos-application.aspx

Fehlermeldung beim Öffnen von DOC-Dateien in Word 2007

15 November 2007

Beim Öffnen von mit Word erstellten DOC-Dateien sieht man den DOC-Dateien nicht an mit welcher Version diese erstellt wurden.

So kam beim Öffnen eines bestimmten Dokuments die Fehlermeldung: Sie versuchen, einen Dateityp zu öffnen, der in einer früheren Version von Microsoft Office erstellt wurde. Das Öffnen dieses Dateityps in dieser Version wird durch die Registrierungsrichtlinieneinstellung blockiert.

Die Meldung suggeriert man muss nur eine Einstellung ändern und schon kann man auf die Datei wieder zugreifen. Es wird auch noch gleich ein KB-Artikel http://support.microsoft.com/?kbid=922850 mitangegeben.

Dort ist nun allerdings die Rede davon, dass Word 1.0 und Word 2.0 Dateien nicht mehr mit Word 2007 geöffnet werden können! Und in dem Fall muss es sich um Word 2.0 Dateien gehandelt haben.

Was tun? Anstatt einen Konverter anzubieten läßt MS den Kunden im Regen stehen. Zum Glück gibt es aber OpenOffice, einfach unter www.openoffice.org die aktuelle Version herunterladen. Der enthaltene Writer kann alte Worddateien öffnen und erlaubt dann auch das Speichern im 97/2003er Format, welches dann wieder von Word 2007 verstanden wird.

ZIP Dateien per Commandline über VBScript erstellen

15 November 2007

Was man öfter mal brauchen kann, wenn man in einem Script schnell LOG-Dateien zusammenpacken möchte, wäre die Funktion die Dateien in eine ZIP-Datei zu packen.

Jetzt ist wohl seit Windows XP die Funktion vorhanden, allerdings läßt sich dies nur per Hand durchführen. Allerdings gibt es ein paar Kluge Köpfe die haben die Funktion per VBScript nachgebildet.

Grundlage dazu ist einfach das Erstellen einer 20Byte leeren ZIP-Datei mit ZIP-Headerkennzeichnung und dem anschließenden hinzukopieren per CopyHere Befehl des Shell.Application Objects.

Hier eine Beschreibung zu Copyhere:
http://www.microsoft.com/technet/scriptcenter/guide/sas_fil_vrwr.mspx?mfr=true

Hier einer der Packen und Entpacken schön per Commandline ermöglicht:
http://www.naterice.com/blog/template_permalink.asp?id=64

Hier wie ein MVP damit umgeht, zeigt auch Einbindung in Excel:
http://www.rondebruin.nl/windowsxpzip.htm

Ein Nachteil hat die Methode allerdings es muss ein Kopierdialog angezeigt werden, sonst klappt es scheinbar nicht.

Probleme bei Darstellung von E-Mails in Outlook 2003 und Outlook 2007

14 November 2007

Microsoft hat sich bei Outlook 2007 dazu entschlossen E-Mails über die Word 2007-Rendering- und nicht mehr über die IE-Rendering Schnittstelle anzuzeigen.

Da die Renderingroutinen in Word bei weitem nicht so ausgereift sind wie beim IE, resultieren daraus einige Darstellungsfehler bei designten E-Mails.

Hier ein Blog der viel zum Problem schreibt:
http://www.campaignmonitor.com/blog/archives/2007/01/
microsoft_takes_email_design_b.html

und ein Blogeintrag, warum dies geschah:
http://www.campaignmonitor.com/blog/archives/2007/01/
the_truth_behind_the_outlook_2.html

Hintergrund was mit CSS bei E-Mails geht hier:
http://www.campaignmonitor.com/blog/archives/2007/04/
a_guide_to_css_support_in_emai_2.html

Weitere Infos aus einer Konferenz zum Thema, mit weiteren Links:
http://www.w3.org/2007/05/html-mail/minutes


Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.