VBA (Import Excel in Doors): In Unicode Datei schreiben (TSV Datei erstellen) / Write to unicode file (create TSV file)

Aufgabe – Problem

Der Inhalt eines Excel-Sheets mit Unicode soll in eine Datei geschrieben werden (damit z.B. IBM Doors über File -> Importieren -> Spreadsheet den Inhalt importieren kann).

A unicode file should be written with the contents of an Excel Sheet using VBA

Vorraussetzung – Prerequirement

Im VBA Editor muss im Menü unter „Verweise“ der Punkt „Microsoft Scripting Runtime“ aktiviert werden.
In the VBA Editor a reference should be added „Microsoft Scripting Runtime“

Ansatz – Approach

(Es wird VBA Code im Excel sheet hinterlegt was den Inhalt in eine TSV-Datei, die von Doors importiert werden kann, auslagert).
Das folgende Skript zeigt ein Iterieren über ein komplettes Excel sheet und schreibt die ersten 3 Spalten in Tabulator-Separiert in eine Datei. Somit könnte man eine TSV-Datei generieren die z.B. von IBM Doors eingelesen werden kann.

Lösung – Solution

    Dim letzteZeile As Integer
    Dim i As Integer
    
    Dim ID,Col1,Col2 As String
    
    Dim fso As New FileSystemObject

    ' Declare a TextStream.
    Dim stream As TextStream

    ' Create a TextStream.
    Set stream = fso.CreateTextFile("c:\dev\wingstext.csv", True, True)
      
    ' Finde die letzte Zeile
    letzteZeile = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row + 1
               
    For i = 1 To letzteZeile
        ID = Tabelle1.Cells(i, 1)
        Col1 = Tabelle1.Cells(i, 2)
        Col2 = Tabelle1.Cells(i, 3)
        
        stream.WriteLine ID & vbTab & Col1 & vbTab & Col2

    Next i
    
    ' Close the file.
    stream.Close

IBM Doors DXL: Ist ein Filter gesetzt? Test if a filter is active / has been set

Aufgabenstellung – Problem

In einem DXL Skript wird geprüft, ob ein Filter aktiviert ist. Diese Funktion ist nicht in der Referenz dokumentiert!

In a DXL Skript the activation of a filter should be tested. This is not documented in the reference!

Ansatz – Approach

Use the filtering method.

Lösung – Solution

Module m = current; 
bool filterIsActive = filtering(m);

Danke an Johannes R. 🙂

Welcher Prozess / Benutzer sperrt eine Datei?

Problem

Man erhält die Meldung, dass ein Prozess oder ein Benutzer eine Datei sperrt

Ansatz

* Herausfinden welcher Prozess die Datei sperrt bzw…
* Herausfinden welcher user die Datei sperrt (Windows Server)
* Prozess beenden

Lösung

Prozess sperrt Datei

Um herauszufinden welcher Prozess eine Datei sperrt, gibt es von Dr. Hoiby das Freeware Tool WhoLockMe. Es bietet an, den Prozess zu beenden

User sperrt Datei

Wenn ein User eine Datei sperrt, kann man auf dem Server unter Benutzung von

net file

oder

net share

entsprechende Benutzerlocks auffinden.