iPin2 zu Bitwarden importieren: LÖSUNG mit Excel Makro
Hier ein Makro mit dem Ihr Euer iPin2 Export zu Bitwarden (csv) konvertieren könnt! Er Übernimmt aber nur den Kontonamen, Benutzernamen und Passwort und Ihr müsst danach noch in der ersten Zeile das einfügen:
folder,favorite,type,name,notes,fields,reprompt,login_uri,login_username,login_password,login_totp
MAKRO:
Sub CombineLoginData()
Dim ws As Worksheet
Dim lastRow As Long, i As Long, outputRow As Long
Dim benutzerLine As String, passwortLine As String
Dim loginValue As String, benutzerValue As String, passwortValue As String
Dim outputStr As String
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
outputRow = 1
For i = 1 To lastRow
If InStr(1, ws.Cells(i, 1).Value, """Benutzername""") > 0 Then
If i + 1 <= lastRow And InStr(1, ws.Cells(i + 1, 1).Value, """Passwort""") > 0 Then
' Werte extrahieren
benutzerLine = ws.Cells(i, 1).Value
passwortLine = ws.Cells(i + 1, 1).Value
loginValue = ExtractFirstQuotedValue(benutzerLine)
benutzerValue = ExtractValueAfterKeyword(benutzerLine, """Benutzername""")
passwortValue = ExtractValueAfterKeyword(passwortLine, """Passwort""")
' Finales Format: ,,login,[ERSTER_WERT],,,,,,[BENUTZERNAME],[PASSWORT],
outputStr = ",,login," & loginValue & ",,,,,," & benutzerValue & "," & passwortValue & ","
ws.Cells(outputRow, 2).Value = outputStr
outputRow = outputRow + 1
i = i + 1 ' Passwort-Zeile überspringen
End If
End If
Next i
MsgBox "Fertig! " & (outputRow - 1) & " Login-Datensätze wurden verarbeitet.", vbInformation
End Sub
Function ExtractFirstQuotedValue(inputStr As String) As String
Dim parts() As String
parts = Split(inputStr, """")
If UBound(parts) >= 2 Then ExtractFirstQuotedValue = parts(1) ' Wert zwischen ersten ""
End Function
Function ExtractValueAfterKeyword(inputStr As String, keyword As String) As String
Dim startPos As Long, endPos As Long
startPos = InStr(inputStr, keyword) + Len(keyword) + 1
endPos = InStr(startPos + 1, inputStr, """")
If endPos > startPos Then ExtractValueAfterKeyword = Mid(inputStr, startPos + 1, endPos - startPos - 1)
End Function